99클럽 코테 스터디 35일차 TIL + 정렬
2024. 12. 1. 21:09ㆍAlgorithm Problem Solving
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
1. 알고리즘! 생각해보자
1) X, Y를 한자리씩 비교하기 위해 배열 변환 후 정렬
2) 숫자 비교 후 일치할 경우 idx 감소
3) 공통으로 나타나는 정수가 없을 경우 / 정수 k가 0으로만 구성되어 있을 경우
2. 해결 코드
import java.util.Arrays;
class Solution {
public String solution(String X, String Y) {
// X, Y의 짝꿍이 존재X -> -1
// X, Y의 짝꿍이 0으로만 구성되어 있다면, -> 0
// 1. X, Y를 한자리씩 비교하기 위해 배열 변환 후 정렬
char[] charX = X.toCharArray();
char[] charY = Y.toCharArray();
Arrays.sort(charX);
Arrays.sort(charY);
// 2. 숫자 비교 후 일치할 경우 idx 감소
StringBuilder answer = new StringBuilder();
int idxX = charX.length -1;
int idxY = charY.length -1;
while(idxX >= 0 && idxY >= 0){
// 두수가 짝꿍을 이룰 경우
if(charX[idxX] == charY[idxY]){
answer.append(charX[idxX]);
idxX--;
idxY--;
}
else if (charX[idxX] > charY[idxY]) {
idxX--;
} else {
idxY--;
}
}
// 공통으로 나타나는 정수가 없을 경우
if (answer.length() == 0) {
return "-1";
}
// 정수 k가 0으로만 구성되어 있을 경우
if (answer.toString().matches("0+")) {
return "0";
}
return answer.toString();
}
}
3. 레퍼런스
[프로그래머스] Lv1.숫자짝꿍.java
https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞
kimtjrgus.tistory.com
'Algorithm Problem Solving' 카테고리의 다른 글
99클럽 코테 스터디 31일차 TIL + 정렬 (1) | 2024.11.27 |
---|---|
99클럽 코테 스터디 27일차 TIL + 정렬 (0) | 2024.11.23 |
99클럽 코테 스터디 26일차 TIL + 정렬 (0) | 2024.11.22 |
99클럽 코테 스터디 25일차 TIL + 힙 (0) | 2024.11.21 |
99클럽 코테 스터디 24일차 TIL + 힙 (1) | 2024.11.20 |