Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 리눅스
- 코딩테스트
- 코테
- GoingBus
- 반복문
- 자바스크립트 코딩의 기술
- 백준 java
- 카카오
- JavaScript
- Kotlin
- 문자열
- 명령어
- map
- 연습문제
- 자바
- 프로그래머스
- Memoir
- java 백준 1차원 배열
- 개발자 회고록
- Linux
- toCharArray
- 리눅스마스터 1급 정리
- 스프링 빈
- 백준 javascript
- 리눅스마스터 3과목
- 리눅스마스터1급
- Java
- 스프링 컨테이너
- 월간코드챌린지
- 고잉버스
Archives
- Today
- Total
hoon's bLog
[Java] 프로그래머스 비밀지도 자바 본문
반응형
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/17681
[나의 풀이]
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = new String[n];
//십진수 -> 이진수
for (int i=0; i<n; i++) {
answer[i] = String.format("%0"+n+"d",Long.parseLong(Integer.toBinaryString(arr1[i] | arr2[i])));
answer[i] = answer[i].replace("0", " ");
answer[i] = answer[i].replace("1", "#");
}
return answer;
}
}
[다른 사람의 풀이]
class Solution {
public String makeSharp(int n, int m) {
if(n == 0) {
if( m > 0) {
String str = "";
for(int i = 0; i < m; i++) {
str += " ";
}
return str;
} else return "";
} else {
return n % 2 == 0 ? makeSharp(n/2, m-1) + " " : makeSharp(n/2, m-1) + "#";
}
}
public String[] solution(int n, int [] arr1, int [] arr2) {
String [] answer = new String[n];
int [] secretMap = new int[n];
for(int i = 0; i < n; i++) {
secretMap[i] = arr1[i] | arr2[i];
answer[i] = makeSharp(secretMap[i], n);
}
return answer;
}
}
[정리]
- String.format("%0"+n+"d", 표현할 데이터 타입) : 표현할 데이터 타입을 n자릿수로 표현
- Integer.toBinaryString으로 2진수로 변환
- | 연산 : 두 수의 OR연산
- 재귀 함수를 통해 2진수 변환 없이, 2로 나누어 떨어지는 경우 바로 공백으로 치환하며, 배열에 비밀지도를 한 번에 그리며 출력...
개인피셜 난이도 : ★★☆☆☆
평상시에 잘 쓰지 않는 함수들이 있어,
데이터 값 처리하는 부분이 원활하지 않았다.
재귀 함수는.... 정말 계속 접해보는 수밖에 없는 것 같다...
남의 코드를 보면 이해가 되지만,
정작 내가 코딩하지 못하는 현실...
계속해서 코드를 들여다보고,
리뷰하며 익숙하게 만드는 수 밖에.
끝.
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
Java 프로그래머스 실패율 자바 (0) | 2022.07.01 |
---|---|
Java 프로그래머스 다트게임 자바 (0) | 2022.06.23 |
[Java] 프로그래머스 숫자 문자열과 영단어 자바 (0) | 2022.06.19 |
[Java] 프로그래머스 키패드 누르기 자바 (0) | 2022.06.18 |
[Java] 프로그래머스 크레인 인형뽑기 게임 자바 (0) | 2022.06.17 |