Notice
Recent Posts
Recent Comments
Link
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 | 30 | 31 |
Tags
- CodingTestJava
- ์ฝํ ์๋ฐ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ๋ฐฑ์ค
- ์ฝ๋ฉํ ์คํธ ์๋ฐ
- ์ฝ๋ฉํ ์คํธ JAVA
- ์๋ฐ ์ฝ๋ฉํ ์คํธ
- programmers
- ์ฝํ๋ฆฐ
- CodingTest
- ์ฝํ
- pattern
- JavaCodingTest
- Android
- ํ๋ฉด ํฌ๊ธฐ ๊ตฌํ๊ธฐ
- kotlin
- ์ฝ๋ฉํ ์คํธ
- ๋ทฐ๋ฐ์ธ๋ฉ
- Java
- ์ฐํ ํ๊ธ๋ฐ
- Coding-Test
- baekjoon
- ์ค๋ธ์
- ์๋ฐ
- BottomNavigation
- javaCoding
- ScreenSize
- viewpager2
- ์๋๋ก์ด๋
- ModelViewPresenter
Archives
- Today
- Total
KDLiam
[Programmers ์ฝ๋ฉ ๊ธฐ์ด ํธ๋ ์ด๋ : Java] ๋์๋ฌธ์ ๋ฐ๊ฟ์ ์ถ๋ ฅํ๊ธฐ ๋ณธ๋ฌธ
Problems(Java)/Programmers
[Programmers ์ฝ๋ฉ ๊ธฐ์ด ํธ๋ ์ด๋ : Java] ๋์๋ฌธ์ ๋ฐ๊ฟ์ ์ถ๋ ฅํ๊ธฐ
KDLiam 2025. 9. 30. 11:54๐ ๋์๋ฌธ์ ๋ณํ (ํ๋ก๊ทธ๋๋จธ์ค 181949๋ฒ)
๐ ๋ฌธ์ ๋งํฌ: ํ๋ก๊ทธ๋๋จธ์ค 181949 - ๋์๋ฌธ์ ๋ฐ๊ฟ์ ์ถ๋ ฅํ๊ธฐ
๐ ๋ฌธ์ ์ค๋ช
์ฃผ์ด์ง ๋ฌธ์์ด์ ๋์๋ฌธ์๋ฅผ ์๋ก ๋ฐ๊ฟ์ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ ๋๋ค.
์: aBcDeFg → AbCdEfG
โจ ์ฒซ ๋ฒ์งธ ํ์ด (String ์ฌ์ฉ)
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
char c;
String answer = "";
for(int i=0;i<a.length();i++) {
c = a.charAt(i);
if(Character.isUpperCase(c)) {
answer += Character.toLowerCase(c);
} else {
answer += Character.toUpperCase(c);
}
}
System.out.println(answer);
}
}
๐ก ํ์ด ์์ด๋์ด
- Character.isUpperCase() / Character.toLowerCase() ๋ฉ์๋๋ฅผ ํ์ฉํด ๋์๋ฌธ์ ๋ณํ
- String์ ๋ฌธ์์ด์ ๋ํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ
โ ๏ธ ๋ฌธ์ ์
Java์ String์ ๋ถ๋ณ(immutable) ๊ฐ์ฒด์ ๋๋ค.
์ฆ, ๋ฌธ์์ด์ ๋ํ ๋๋ง๋ค ์๋ก์ด ๊ฐ์ฒด๊ฐ ์์ฑ๋๊ณ ๊ธฐ์กด ๊ฐ์ ๋ฒ๋ ค์ง๋๋ค.
๐ ๋ฐ๋ณต๋ฌธ์ด ์ปค์ง์๋ก ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ์ฌํด์ง๋๋ค.
โจ ๋ ๋ฒ์งธ ํ์ด (StringBuilder ์ฌ์ฉ)
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
StringBuilder answer = new StringBuilder();
for(Character c : a.toCharArray()) {
if(Character.isUpperCase(c)) {
answer.append(Character.toLowerCase(c));
} else {
answer.append(Character.toUpperCase(c));
}
}
System.out.println(answer.toString());
}
}
๐ก ๊ฐ์ ์์ด๋์ด
- StringBuilder๋ ๊ฐ๋ณ(mutable) ๊ฐ์ฒด๋ก, ๋ฌธ์์ด์ ์ง์ ์์ ํ ์ ์์ต๋๋ค.
- ๋ฐ๋ผ์ ๋ฌธ์์ด์ ๋ถ์ผ ๋ ์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ง ์๊ณ ๊ธฐ์กด ๋ฒํผ๋ฅผ ์ฌํ์ฉํฉ๋๋ค.
๐ ๋ฐ๋ณต๋ฌธ์์ ํจ์จ์ !
๐ ์๊ฐ·๊ณต๊ฐ ๋ณต์ก๋ ๋น๊ต
๋ฐฉ์์๊ฐ ๋ณต์ก๋๊ณต๊ฐ ๋ณต์ก๋์ค๋ช
| String ์ฌ์ฉ | O(N²) | O(N²) | + ์ฐ์ฐ๋ง๋ค ์๋ก์ด ๋ฌธ์์ด ๊ฐ์ฒด ์์ฑ |
| StringBuilder ์ฌ์ฉ | O(N) | O(N) | ๋ฒํผ ์ฌํ์ฉ → ์ ๋ ฅ ํฌ๊ธฐ๋งํผ๋ง ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ |
๐ StringBuilder๋ฅผ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ๊ณผ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ด ํฌ๊ฒ ๊ฐ์ ๋ฉ๋๋ค.
์ ๋ ฅ ํฌ๊ธฐ๊ฐ ์ปค์ง์๋ก ์ฐจ์ด๋ ๋์ฑ ๋๋๋ฌ์ง๋๋ค.