풀이)
그러나 이 방법은 2차원 배열을 쓴다는 점에서 런타임이 길어진다.
내 코드)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[]args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int first = Integer.parseInt(bf.readLine());
int question = Integer.parseInt(bf.readLine());
int timeout = 210;
String[][] input = new String[question][2];
for(int i = 0; i<question;i++) {
input[i] = bf.readLine().split(" ");
}
for(int i =0;i<question;i++) {
if(Integer.parseInt(input[i][0]) <timeout) {
timeout -= Integer.parseInt(input[i][0]);
if(input[i][1].equals("T")) {
first ++;
if(first > 8) first -= 8;
}else {
continue;
}
}else {
System.out.println(first);
break;
}
}
}
}
다른 풀이)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int K = Integer.parseInt(br.readLine());
int N = Integer.parseInt(br.readLine());
//지나간 시간을 저장 할 변수
int time = 0;
for(int i = 0; i < N; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int T = Integer.parseInt(st.nextToken());
String Z = st.nextToken();
time += T;
if(time > 210) break;
if(Z.equals("T")) K++;
if(K == 9) K = 1;
}
System.out.print(K);
}
}