Post

๐Ÿ’ช๐Ÿป programmers Lv1(24.10.04 - 5๋ฌธ์ œ)

๐Ÿ’ช๐Ÿป programmers Lv1(24.10.04 - 5๋ฌธ์ œ)

programmers Lv1(24.10.04 - 5๋ฌธ์ œ)

42) ์‹œ์ € ์•”ํ˜ธ

  • ์–ด๋–ค ๋ฌธ์žฅ์˜ ๊ฐ ์•ŒํŒŒ๋ฒณ์„ ์ผ์ •ํ•œ ๊ฑฐ๋ฆฌ๋งŒํผ ๋ฐ€์–ด์„œ ๋‹ค๋ฅธ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋ฐ”๊พธ๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹. AB๋ฅผ 1๋งŒํผ ๋ฐ€๋ฉด BC

  • ์ด๋ฒˆ์—๋Š” ๊ณ ๋ฏผ์„ ํ•ด๋ณธ ๋’ค, ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ–ˆ๋‹ค.

    • 1) CharAt์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋ฌธ์ž๋กœ ๋ถ„๋ฆฌ

    • 2) ๊ณต๋ฐฑ์ผ ๋•Œ answer+ch; continue;

    • 3) ์†Œ๋ฌธ์ž์™€ ๋Œ€๋ฌธ์ž์ผ ๋•Œ ์•”ํ˜ธํ™”๋œ ๋ฌธ์ž๋ฅผ answer์— ์ถ”๊ฐ€

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.util.*;
class Solution {
    public String solution(String s, int n) {
        String answer = "";
        for(int i=0;i<s.length();i++)
        {
            char ch = s.charAt(i);
            if(ch==' ')
            {
                answer+=ch;
                continue;
            }
            
            if(Character.isLowerCase(ch))
            {
                answer+=(char) ((ch-'a'+n)%26 +'a');
            }
            else if(Character.isUpperCase(ch))
            {
                answer+=(char) ((ch-'A'+n)%26 +'A');
            }
        }
        return answer;
    }
}
  • ch-'a' ๋Š” 97-97 = 0, ex) b๋ผ๋ฉด 98-97 = 1. ์ฆ‰, ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ๋ช‡๋ฒˆ ์งธ์— ์žˆ๋Š”์ง€๋ฅผ ๊ตฌํ•จ

  • +n ์€ n๋งŒํผ ๋ฌธ์ž๋ฅผ ์ด๋™, ex) b์ด๊ณ  n=2๋ผ๋ฉด, ch-โ€˜aโ€™+2 => 98-97+2 = 3

  • %26์„ ํ•˜๋Š” ์ด์œ ๋Š” ์•ŒํŒŒ๋ฒณ์ด ์ด 26๊ฐœ๋ผ์„œ ๋งŒ์•ฝ โ€˜zโ€™์—์„œ n๋งŒํผ ๋ฐ€๋ ธ์„ ๋•Œ โ€˜aโ€™๋กœ ๋Œ์•„๊ฐ€์„œ ์ˆœํšŒํ•˜๋„๋ก ํ•จ

  • +'a' : โ€˜aโ€™๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ๋ช‡ ๋ฒˆ์งธ์— ์œ„์น˜ํ•˜๋Š”์ง€ ๊ตฌํ•˜๋Š” ๊ฒƒ, ๋‹ค์‹œ ์•„์Šคํ‚ค ์ฝ”๋“œ ๊ฐ’์„ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด (ch-'a'+m)%26 ์€ โ€˜aโ€™๋ถ€ํ„ฐ ๋ช‡ ๋ฒˆ์งธ์ธ์ง€ ๊ณ„์‚ฐํ•œ ๊ฐ’์ด๋ฏ€๋กœ ๊ทธ ๊ฐ’์„ ๋‹ค์‹œ ๋ฌธ์ž๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด โ€˜aโ€™๋ฅผ ๋”ํ•จ.

  • ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ํ•ด๋„ ์ •์ˆ˜ ํƒ€์ž…์ž„. (ch-'a'+n)%26 + โ€˜aโ€™๋Š” 100์ด๋ผ๋Š” ์ •์ˆ˜ ๊ฐ’์ด ๋จ. ์ด๊ฒƒ์„ ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ฃผ๊ธฐ ์œ„ํ•ด ๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜์ด ํ•„์š”ํ•œ ๊ฒƒ



43) [PCCE ๊ธฐ์ถœ๋ฌธ์ œ] 1๋ฒˆ / ๋ฌธ์ž ์ถœ๋ ฅ

1
2
3
4
5
6
7
8
9
10
import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        String message = "Let's go!";

        System.out.println("3\n2\n1");
        System.out.println(message);
    }
}



44) ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ฐ™์€ ๊ธ€์ž

  • ๋ฌธ์ž์—ด s์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณณ์— ์žˆ๋Š” ๊ฐ™์€ ๊ธ€์ž ์œ„์น˜ ๊ตฌํ•˜๊ธฐ

  • ๐Ÿ“Œ ๋‚ด ํ’€์ด

    • 1) ๋ฌธ์ž์—ด์„ split()์„ ์ด์šฉํ•ด์„œ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฌธ์ž์—ด ๋ฐฐ์—ด์— ์ €์žฅํ•˜๊ธฐ
    • 2) ์ด์ค‘ for๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ง์ „๊นŒ์ง€ ์˜ค๋Š” ๋ฌธ์ž์™€ ๋น„๊ตํ•˜๊ธฐ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.*;
class Solution {
    public int[] solution(String s) {
        String[] str =  s.split(""); // b a n a n a
        int[] answer = new int[str.length];
        answer[0] = -1;
        for(int i=1;i<str.length;i++)
        {
            answer[i] = -1; //๊ธฐ๋ณธ๊ฐ’
            for(int j=i-1;j>=0;j--)
            {
               if(str[i].equals(str[j]))
               {
                   answer[i] = i-j;
                   break;
               }
            }
        }
        return answer;
    }
}



45) ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด

  • ์˜๋‹จ์–ด๋กœ ์„ž์—ฌ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ ๋ฐ”๊พธ๊ธฐ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.*;
class Solution {
    public int solution(String s) {
        int answer = 0;
        s = s.replace("zero","0")
            .replace("one","1")
            .replace("two","2")
            .replace("three","3")
            .replace("four","4")
            .replace("five","5")
            .replace("six","6")
            .replace("seven","7")
            .replace("eight","8")
            .replace("nine","9");
            
     
        return Integer.parseInt(s);
    }
}
  • replace : ๋‹จ์ˆœ ๋ฌธ์ž์—ด ์น˜ํ™˜์„ ์œ„ํ•ด ์‚ฌ์šฉ๋จ. ex) โ€œoneโ€์„ โ€œ1โ€๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ์„ ๋•Œ ์ •ํ™•ํžˆ โ€œoneโ€์ด๋ผ๋Š” ๋ฌธ์ž์—ด์„ ์ฐพ์Œ

  • replaceAll : ์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ํŒจํ„ด์„ ์ฐพ๊ณ  ์น˜ํ™˜ํ•จ. ex) ์ˆซ์ž์™€ ์•ŒํŒŒ๋ฒณ์„ ํ˜ผํ•ฉํ•ด์„œ ์ฐพ๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉํ•จ.

1
2
3
4
5
6
7
// replace ์‚ฌ์šฉ ์˜ˆ์‹œ
String s = "one two three"
s = s.replace("one", "1") // ๊ฒฐ๊ณผ : "1 two three"

// replaceAll ์‚ฌ์šฉ ์˜ˆ์‹œ
String s = "1 cat 2 cats"
s = s.replaceAll("[0-9]", "number"); // ๊ฒฐ๊ณผ : "number cat number cats"



46) [PCCE ๊ธฐ์ถœ๋ฌธ์ œ] 8๋ฒˆ / ๋‹‰๋„ค์ž„ ๊ทœ์น™

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class Solution {
    public String solution(String nickname) {
        String answer = "";
        for(int i=0; i<nickname.length(); i++){
            if(nickname.charAt(i) == 'l'){
                answer += "I";
            }
            else if(nickname.charAt(i) == 'w'){
                answer += "vv";
            }
            else if(nickname.charAt(i) == 'W'){
                answer += "VV";
            }
            else if(nickname.charAt(i) == 'O'){
                answer += "0";
            }
            else{
                answer += nickname.charAt(i);
            }
        }
        while(answer.length() < 4){
            answer += "o";
        }
        if(answer.length() > 8){
            answer = answer.substring(0, 8);
        }
        return answer;
    }
}
This post is licensed under CC BY 4.0 by the author.