개발/문제해결
[프로그래머스] 비밀지도
hyosupsong
2020. 12. 30. 22:26
문제
programmers.co.kr/learn/courses/30/lessons/17681
코딩테스트 연습 - [1차] 비밀지도
비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다
programmers.co.kr
문제해결방법
이 문제는 단순하게 각 지도의 정수 배열을 비교해가며 전체 지도를 만들어주었다.
코드
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 31 | package Programmers; public class Solution_보물지도 { public static String makeMap(int n, int a, int b) { StringBuilder sb = new StringBuilder(); for(int i=0; i<n; i++) { if((a&1)==0 && (b&1)==0) sb.append(" "); else sb.append("#"); a>>=1; b>>=1; } return sb.reverse().toString(); } public static String[] solution(int n, int[] arr1, int[] arr2) { String[] answer = new String[n]; for(int i=0; i<n; i++) { answer[i] = makeMap(n, arr1[i], arr2[i]); } return answer; } public static void main(String[] args) { int n = 5; int[] arr1 = {9, 20, 28, 18, 11}; int[] arr2 = {30, 1, 21, 17, 28}; String[] str = solution(n, arr1, arr2); for(int i=0; i<str.length; i++) System.out.println(str[i]); } } | cs |
코드에 대한 피드백이나 더 좋은 아이디어는 언제나 환영입니다.