[알고리즘문제풀기] 가위 바위 보

silver's avatar
Dec 17, 2024
[알고리즘문제풀기] 가위 바위 보

문제

정답

list

class Solution { public String solution(String rsp) { StringBuilder answer = new StringBuilder(); // 결과를 저장할 StringBuilder // rsp 문자열을 toCharArray() 메서드를 통해 문자 배열로 변환해서 하나씩 돌아 for (char ch : rsp.toCharArray()) { if (ch == '2') { answer.append('0'); } else if (ch == '0') { answer.append('5'); } else if (ch == '5') { answer.append('2'); } } // StringBuilder를 문자열로 변환하여 반환 return answer.toString(); } }

다른 사람들이 작성한 정답

streamAPI

import java.util.Arrays; import java.util.stream.Collectors; class Solution { public String solution(String rsp) { return Arrays.stream(rsp.split("")) .map(s -> s.equals("2") ? "0" : s.equals("0") ? "5" : "2") .collect(Collectors.joining()); } }

map

import java.util.HashMap; import java.util.Map; class Solution { public String solution(String rsp) { //2 - 가위, 0 - 바위, 5 - 보 Map<String, String> winNumbers = new HashMap<>(); winNumbers.put("2", "0"); winNumbers.put("0", "5"); winNumbers.put("5", "2"); StringBuilder answer = new StringBuilder(); for (int i = 0; i < rsp.length(); i++) { answer.append(winNumbers.get(rsp.substring(i, i+1))); } return answer.toString(); } }
Share article

silver