티스토리 뷰
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/17681
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 설명
10진수로 입력받은 arr1과 arr2를 2진수로 변환하고,
앞 공백을 채워서,
1은 "#"으로, 0은 " "로 변환하면 된다.
3. 코드
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = new String[n];
for(int i=0; i<n; i++) {
String map = Integer.toBinaryString(arr1[i]|arr2[i]); // 2진수 변환
map = String.format("%"+n+"s", map); // 앞 공백 채우기
map = map.replaceAll("1","#");
map = map.replaceAll("0"," ");
answer[i] = map;
}
return answer;
}
}
근데 format하는 부분에서
map = String.format("%0"+n+"d",Integer.parseInt(map));
하면 테스트케이스 2와 6이 실패로 뜬다.
왜그런지 모르겠다 ㅠ 지나가다가 아시면 가르켜주세요.
+잘못된(?) 코드
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = new String[n];
for(int i=0; i<n; i++) {
String map = Integer.toBinaryString(arr1[i]|arr2[i]);
map = String.format("%0"+n+"d", Integer.parseInt(map)); // 이 부분입니다.
map = map.replaceAll("1","#");
map = map.replaceAll("0"," ");
answer[i] = map;
}
return answer;
}
}
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 예산 JAVA (0) | 2020.04.30 |
---|---|
프로그래머스 [1차] 다트 게임 JAVA (0) | 2020.04.30 |
프로그래머스 문자열 내 p와 y의 개수 JAVA (0) | 2019.09.04 |
프로그래머스 완주하지 못한 선수 JAVA (1) | 2019.09.04 |
프로그래머스 평균 구하기 JAVA (1) | 2019.09.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday