가위 바위 보
https://school.programmers.co.kr/learn/courses/30/lessons/120839
- 문제 풀이
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
import java.util.HashMap;
import java.util.Map;
public class Solution {
public static String solution(String rsp) {
StringBuilder result = new StringBuilder();
// 이길 수 있는 경우의 문자열을 저장한 Map
Map<Character, Character> winMap = new HashMap<>();
winMap.put('0', '5'); // 바위(0)를 이기는 경우
winMap.put('2', '0'); // 가위(2)를 이기는 경우
winMap.put('5', '2'); // 보(5)를 이기는 경우
// 주어진 rsp 문자열을 순회하여 이길 수 있는 경우의 문자열을 만든다.
for (int i = 0; i < rsp.length(); i++) {
result.append(winMap.get(rsp.charAt(i)));
}
return result.toString();
}
public static void main(String[] args) {
String rsp1 = "2";
String rsp2 = "205";
System.out.println(solution(rsp1)); // 출력: "0"
System.out.println(solution(rsp2)); // 출력: "052"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.*;
class Solution {
public String solution(String rsp) {
StringBuilder result = new StringBuilder();
for (char c : rsp.toCharArray()) { // 주어진 문자열을 반복하면서 각각의 값을 이기는 값을 찾아 문자열에 추가
if (c == '2') {
result.append('0'); // 가위(2)는 바위(0)를 이김
} else if (c == '0') {
result.append('5'); // 바위(0)는 보(5)를 이김
} else if (c == '5') {
result.append('2'); // 보(5)는 가위(2)를 이김
}
}
return result.toString();
}
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.