Algorithm/기타
[백준 17264번] I AM IRONMAN (Java 풀이)
agility
2020. 3. 8. 15:35
백준알고리즘 17264번 : I AM IRONMAN
해킹을 통해 점수를 올리고자 하는 유저가 있는데, 알아낸 정보와 게임을 통해
IRON 티어에서 벗어날 수 있는지 여부를 확인하는 문제이다.
해킹을 통해 같이하면 무조건 이기거나 지는 사람의 명단, 벗어나기 위한 점수, 승리시 획득 점수, 패배시 감점 점수
와 같은 정보가 주어진다.
나는 HashMap을 이용하여 풀었다.
정보가 주어진 이름과 승패 여부를 HashMap의 Key와 Value에 집어 넣고,
조건에 맞추어, 점수를 깎거나 올려주었다.
소스 ▽
더보기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
public class Main { // 17264번 I AM IRONMAN
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String info1 = br.readLine();
String[] cnt = info1.split(" ");
int count = Integer.parseInt(cnt[0]);
int player = Integer.parseInt(cnt[1]);
String info2 = br.readLine();
String[] scr = info2.split(" ");
int wScore = Integer.parseInt(scr[0]);
int lScore = Integer.parseInt(scr[1]);
int gScore = Integer.parseInt(scr[2]);
HashMap<String, String> hsmp = new HashMap<String, String>();
for (int i = 0; i < player; i++) {
String name = br.readLine();
String[] name2 = name.split(" ");
hsmp.put(name2[0], name2[1]);
}
int score = 0;
boolean flag = false;
for (int i = 0; i < count; i++) {
String who = br.readLine();
if (hsmp.containsKey(who) && hsmp.get(who).equals("W")) {
score += wScore;
} else {
score -= lScore;
}
if (score < 0) {
score = 0;
}
if (score >= gScore) {
System.out.println("I AM NOT IRONMAN!!");
flag = true;
break;
}
}
if (flag == false) {
System.out.println("I AM IRONMAN!!");
}
}
}