Tags
- BFS
- sort
- queue
- stack
- CodingTest
- Java
- ๊น์ด ์ฐ์ ํ์
- Python
- ์ ๋ ฌ
- ์ํ
- LV2
- BOJ
- SpringBoot
- greedy
- Brute Force Algorithm
- dfs
- PGM
- ๊ทธ๋ํ ์ด๋ก
- ๊ทธ๋ํ ํ์
- ์ ์๋ก
- DP
- Dynamic Programming
- ๊ต์ฌ
- ๋ฌธ์์ด
- ๊ตฌํ
- ๋ฐฑํธ๋ํน
- ์๋ฎฌ๋ ์ด์
- Study
- ๋๋น ์ฐ์ ํ์
- ์๋ฃ๊ตฌ์กฐ
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1251 : ๋จ์ด ๋๋๊ธฐ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ๋ฌธ์๋ฅผ 3๊ฐ๋ก ๋๋ ์ ๋ค์ง๊ณ ํฉ์ณค์๋ ์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ์์ ์ค๋ ๊ฒฝ์ฐ๋ฅผ ์ฐพ๋๋ค.
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
int len = s.length();
String answer = "z";
for (int i = 0; i < len-2; i++){
for (int j = i+1; j < len-1; j++){
StringBuilder a = new StringBuilder(s.substring(0,i+1));
StringBuilder b = new StringBuilder(s.substring(i+1,j+1));
StringBuilder c = new StringBuilder(s.substring(j+1,len));
String temp = a.reverse().toString() + b.reverse() + c.reverse();
if (answer.compareTo(temp) > 0)
answer = temp;
}
}
System.out.println(answer);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ํ ๋ฌธ์์ด์ ์ธ ๊ฐ๋ก ๋๋๋ ค๋ฉด ๊ธฐ์ค์ด ๋๋ ์ธ๋ฑ์ค๊ฐ 2๊ฐ ํ์ํ๋ค.
- 2์ค for๋ฌธ์ ๋๋ ค i์ j๋ฅผ ๋ฐ๊ฟ๊ฐ๋ฉฐ ๋ชจ๋ ๊ฒ์ฌํ๋ค. (๋ธ๋ฃจํธ ํฌ์ค)
- substring()์ผ๋ก ๋ฌธ์์ด์ ์๋ฅด๊ณ , StringBuilder์ reverse()๋ก ๋ค์ง์ด ํฉ์ณค๋ค.
- compareTo()๋ฅผ ์ฌ์ฉํด ์ฌ์ ์ ๋น ๋ฅด๊ธฐ๋ฅผ ๊ฒ์ฌํ๋ค.
- ์ฌ์ ์ ๊ฒ์ฌ๋ฅผ ์ํด answer๋ฅผ ๊ฐ์ฅ ๋๋ฆฐ "z"๋ก ์ด๊ธฐํํ๋ค.
- ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ 50์ด๋ผ "z" * 50 ์ธ ์ค ์์๋๋ฐ, ํ ๊ธ์๋ฅผ ๋จผ์ ๋น๊ตํ๊ธฐ ๋๋ฌธ์ ํ๋๋ก ์ด๊ธฐํ ํด์ผํ๋ค.
- A.compareTo(B)์์ A๊ฐ B๋ณด๋ค ๋๋ฆฌ๋ฉด 1, ๋น ๋ฅด๋ฉด -1 ์ ๋ฐํํ๋ค.(A>B ์ A<B)
๐ธ end ๐ธ
- ์๊ฐ๋ณด๋ค ๊ฐ๋จํ ํ์๋ค.
- substring(), reverse(), compareTo()๋ฅผ ์ฐ์ตํ ์ ์์๋ค. ์์ง ์์ ํ ์์ ๋กญ๊ฒ ๋ค๋ฃจ์ง๋ ๋ชปํด์ ์ฐ์ต์ด ํ์ํ๋ค.
- ํ์ด ๊ฒ์ฌ์ฉ ์ถ๋ ฅ๋ฌธ์ ์ง์ฐ์ง ์์, ์ถ๋ ฅ์ด๊ณผ๊ฐ ํ ๋ฒ ๋ด๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1312 : ์์ (0) | 2022.09.18 |
---|---|
BOJ_1094 : ๋ง๋๊ธฐ (0) | 2022.09.18 |
BOJ_15964 : ์ด์ํ ๊ธฐํธ (0) | 2022.09.15 |
BOJ_11718 : ๊ทธ๋๋ก ์ถ๋ ฅํ๊ธฐ (0) | 2022.09.15 |
BOJ_9086 : ๋ฌธ์์ด (0) | 2022.09.15 |