
Problem ๐ป
https://school.programmers.co.kr/learn/courses/30/lessons/120898
๋จธ์ฑ์ด๋ ํ ๋จธ๋๊ป ์์ ์ถํ ํธ์ง๋ฅผ ์ฐ๋ ค๊ณ ํฉ๋๋ค. ํ ๋จธ๋๊ฐ ๋ณด์๊ธฐ ํธํ๋๋ก ๊ธ์ ํ ์ ํ ์๋ฅผ ๊ฐ๋ก 2cm ํฌ๊ธฐ๋ก ์ ์ผ๋ ค๊ณ ํ๋ฉฐ, ํธ์ง๋ฅผ ๊ฐ๋ก๋ก๋ง ์ ์ ๋, ์ถํ ๋ฌธ๊ตฌ message๋ฅผ ์ ๊ธฐ ์ํด ํ์ํ ํธ์ง์ง์ ์ต์ ๊ฐ๋ก๊ธธ์ด๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
<์ ์ถ๋ ฅ ์>
| "happy birthday!" | 30 |
| "I love you~" | 22 |
Approach 1 โ - ๋์ ์ด๊ธฐ ์ ๊ทผ๋ฒ
1. ์ ์ถ๋ ฅ ์๋ฅผ ๋ณด์์ ๋ ๋์ด์ฐ๊ธฐ ๋ํ ํ์นธ ๋น 2cm๋ฅผ ์ฐจ์งํ๋ฏ๋ก, ๋์ด์ฐ๊ธฐ ํฌํจ ๋ชจ๋ ๊ธ์ ๋น 2cm๊ฐ ๋งค๊ฒจ์ง๋ค.
2. message๋ผ๋ ๋ฐฐ์ด์ ๋ช ๊ฐ์ ์์(ํ ๊ธ์)๊ฐ ๋ค์ด๊ฐ์ง๋ ๋ชจ๋ฅธ๋ค.
3. ๋ฐฐ์ด์ ์์๋น *2ํ์ฌ์ ์ถ๋ ฅํ๊ฒ๋ ๋ง๋ค์ด์ค์ผํ๋ค. ์ฆ, ๋ฐฐ์ด์ ์์์ ๊ฐฏ์๋ ์ ํด์ ธ์์ง ์์ง๋ง (์์์ ์ด ๊ฐฏ์ + ๋์ด์ฐ๊ธฐ) *2 ๊ฐ์ด return ๋์ด์ผ ํ๋ค.
Approach 2 โญ - ๋์ ์ด๊ธฐ ์ ๊ทผ๋ฒ ์ ๊ฒ
1. ๋์ด์ฐ๊ธฐ๋ฅผ ํฌํจํ ๋ชจ๋ ๊ธ์๋ฅผ ๊ณ์ฐํ๋ ๋ถ๋ถ์ ์ฌ๋ฐ๋ฅด๋ค.
์๋ฐ์์ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ์ธก์ ํ๋ฉด ๋์ด์ฐ๊ธฐ๋ ํฌํจ๋ ๊ธ์ ์๋ฅผ ์ ์ ์๋ค.
๊ทธ๋ฌ๋ฏ๋ก '๋์ด์ฐ๊ธฐ' ๋ง์ ์ํ ๋ณ๊ฐ์ ๋ฌธ๋ฒ์ด ํ์ํ์ง ์๋ค. ์ด์ฐจํผ ๊ธธ์ด ์ธก์ ํ ๋ '๋์ด์ฐ๊ธฐ'๋ ํฌํจ ๋๋ฏ๋ก.
2. ํ ๊ธ์๋น 2cm๋ฅผ ๊ณฑํ์ฌ ์ด ๊ฐ๋ก๊ธธ์ด๋ฅผ ๊ณ์ฐํ๋ ๊ฒ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ด๋ค.
Solution ๐ก- ์ด์ ์๋ฐ๋ก ๊ตฌํํ๋ ๋ฒ์ ์์๋ณด์.
< ํด๊ฒฐ ๊ณผ์ >
1. ํ์ํ ์๋ฐ ๊ฐ๋
- ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ์ธก์ ํ๊ธฐ : String.length() ๋ฉ์๋ ์ฌ์ฉ
- ๊ณฑ์ ์ฐ์ฐ์ ํตํด ๊ฐ ๋ฌธ์๋น 2cm ๋ฐ์ํ๊ธฐ
- ๋ฉ์๋ ์ ์ : ๋ฌธ์ ์์ ์๊ตฌํ ๋๋ก solution์ด๋ผ๋ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ๋ง๋ค๊ธฐ.
2. ๊ตฌํ ์์
1) ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ์ธก์ (message.length()).
2) ์ธก์ ๋ ๊ธธ์ด์ 2๋ฅผ ๊ณฑํ๊ธฐ.
3) ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๊ธฐ.
public class Main {
public static int solution(String message) {
// 1. ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๊ตฌํฉ๋๋ค.
int length = message.length();
// 2. ๊ฐ ๊ธ์๋น 2cm๋ฅผ ๊ณฑํฉ๋๋ค.
int totalWidth = length * 2;
// 3. ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค.
return totalWidth;
}
public static void main(String[] args) {
// ํ
์คํธ ์ฝ๋
String message = "์์ ์ถํํฉ๋๋ค!";
int result = solution(message);
System.out.println("ํ์ํ ํธ์ง์ง์ ์ต์ ๊ฐ๋ก๊ธธ์ด: " + result + "cm");
}
}
<์์ ์คํ>
String message = "์์ ์ถํํฉ๋๋ค!";String message = "์์ ์ถํํฉ๋๋ค!";
<์ถ๋ ฅ>
ํ์ํ ํธ์ง์ง์ ์ต์ ๊ฐ๋ก๊ธธ์ด: 34cm