https://programmers.co.kr/learn/courses/30/lessons/17681
코딩테스트 연습 - [1차] 비밀지도
비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다
programmers.co.kr
문제 설명 : arr1과 arr2 배열의 값을 2진수로 각각 변환해주고, OR 연산을 해줍니다. 1001 = 9 일 경우 n자리만큼 빈 자리에는 0을 채워줘야하기 때문에 format 함수로 공백을 넣어줍니다. 1일 경우 #으로 바꾸고, 0일 경우 공백으로 출력해줍니다. |
class Solution {
public static String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = new String[n];
for (int i = 0; i < n; i++) {
String s = Integer.toBinaryString(arr1[i]|arr2[i]);//2진수로 변환, 비트 연산 OR
s = String.format("%"+n+"s",s);//n자리만큼 공백으로 채워주기
s = s.replace("1", "#");//1-> #
s = s.replace("0", " ");//0->공백
answer[i] = s;
}
return answer;
}
public static void main(String[] args) {
int n = 6;
int[] arr1 = {46, 33, 33 ,22, 31, 50};
int[] arr2 = {27 ,56, 19, 14, 14, 10};
solution(n,arr1,arr2);
}
}
'ALGORITHM > 프로그래머스 | 백준 | 삼성 | 카카오' 카테고리의 다른 글
[백준] 1987번 알파벳 (0) | 2020.08.26 |
---|---|
[백준] 2668번 숫자고르기 (0) | 2020.08.26 |
[프로그래머스] 2019 카카오 개발자 겨울 인턴십 크레인 인형뽑기 게임 (0) | 2020.08.25 |
[백준] 1764번 듣보잡 (0) | 2020.08.23 |
[백준] 1157번 단어 공부 (0) | 2020.08.23 |