๐ช๐ป 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;
}
}