https://www.acmicpc.net/problem/9517
9517๋ฒ: ์์ด ๋ฌ๋ธ ํฌ๋ก์ํฐ์
๋ฌธ์ "I love Croatia"๋ ๋ค๋ธ๋๋์ ์ธ๊ธฐ ํฐ๋น ํ๋ก๊ทธ๋จ "I love my country"์ ํฌ๋งท ๋ผ์ด์ผ์ค๋ฅผ ์์ ํด ๋ง๋ ํฌ๋ก์ํฐ์์ ํฐ๋น์ผ์ด๋ค. ์ด ํฐ๋น์ผ์์ ๊ฐ์ฅ ์ธ๊ธฐ์๋ ๊ฒ์์ "Happy Birthday"์ด๋ฉฐ, ์ด ๊ฒ์์
www.acmicpc.net
์ฝ๋
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int K = scan.nextInt(); // ํญํ ๋ค๊ณ ์๋ ์ฌ๋ ๋ฒํธ
int N = scan.nextInt(); // ์ง๋ฌธ์ ๊ฐ์
int[] arr = new int[N];
char[] cArr = new char[N];
int time = 0; // ์ด ์๊ฐ
scan.nextLine();
// ๊ฐ ์ง๋ฌธ ๋๋ต ์๊ฐ, ๋๋ต ์
๋ ฅ๋ฐ๊ธฐ
for(int i=0; i<N; i++) {
String str = scan.nextLine();
String[] sArr = str.split(" ");
arr[i] = Integer.parseInt(sArr[0]);
cArr[i] = sArr[1].charAt(0);
}
for(int i=0; i<N; i++) {
time += arr[i];
if(time >= 210) break; // 210์ด ์ง๋ ๊ฒฝ์ฐ ํญํ ํฐ์ง
if(cArr[i] == 'T') K += 1; // ๋๋ต์ด ์ ๋ต์ธ๊ฒฝ์ฐ: ํญํ ์ผ์ชฝ์ผ๋ก ์ด๋
if(K > 8) K = 1; // 8๋ฒ ์ฌ๋ -> 1๋ฒ ์ฌ๋์๊ฒ ํญํ ์ ๋ฌ
}
System.out.println(K);
scan.close();
}
}
ํ์ด
๊ณ ๋ คํด์ผ ํ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ๋ค.
- 3๋ถ 30์ด(210์ด) ๊ฐ ์ง๋๋ฉด ํญํ์ด ํฐ์ง๋ค.
- ๋๋ต์ด ์ ๋ต(T) ์ธ ๊ฒฝ์ฐ ํญํ์ ์ผ์ชฝ์ผ๋ก, ์ค๋ต(N) ์ด๊ฑฐ๋ ์คํต(P)์ธ ๊ฒฝ์ฐ ๋ค์ ์ง๋ฌธ์ ๋ฐ๋๋ค.
-> ์ ๋ต์ธ ๊ฒฝ์ฐ๋ง ํญํ์ ์ผ์ชฝ์ผ๋ก ์ฎ๊ฒจ์ฃผ๋ฉด ๋๋ค. (1->2 , 2->3 ... )
- 8๋ฒ ์ฌ๋์๊ฒ ํญํ์ด ์๊ณ , ๋ค์ ์ ๋ฌํด์ผํ ๊ฒฝ์ฐ -> 1๋ฒ ์ฌ๋์๊ฒ ์ ๋ฌํด์ผ ํ๋ค. ๋ฐ๋ผ์ ํญํ ๋ฒํธ ์ด๊ธฐํ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2783๋ฒ: ์ผ๊ฐ ๊น๋ฐฅ(๊ตฌํ) (0) | 2020.05.16 |
---|---|
[๋ฐฑ์ค] 3034๋ฒ: ์ต๊ทธ๋ฆฌ ์ฐฝ์ (0) | 2020.05.15 |
[๋ฐฑ์ค] 2455๋ฒ: ์ง๋ฅํ ๊ธฐ์ฐจ (0) | 2020.05.12 |
[๋ฐฑ์ค] 1547๋ฒ: ๊ณต (0) | 2020.05.12 |
[๋ฐฑ์ค] 1773๋ฒ: ํญ์ฃฝ์ผ(๊ตฌํ) (0) | 2020.05.03 |
๋๊ธ