[프로그래머스 0단계 문제 풀이]
import java.util.*;
class Solution {
public int[] solution(int[] emergency) {
// 해당 요소가 거꾸로 정렬했을 때 몇 번째 인덱스에 위치하는지 반환
List<Integer> list = new ArrayList<>();
for(int i : emergency){
list.add(i);
}
Collections.sort(list, Collections.reverseOrder());
int[] result = new int[emergency.length];
for(int i=0; i<emergency.length; i++){
result[i] = list.indexOf(emergency[i])+1;
}
return result;
}
}
class Solution {
public String solution(String bin1, String bin2) {
//2진수를 10진수로 바꿔서 더하고, 다시 2진수로 리턴
int int1 = Integer.parseInt(bin1, 2);
int int2 = Integer.parseInt(bin2, 2);
return Integer.toBinaryString(int1+int2);
}
}
십진수, 이진수 변환
https://hodubab.tistory.com/348
class Solution {
public long solution(String numbers) {
String[] arr = new String[]{"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for(int i=0; i<arr.length; i++){
if(numbers.contains(arr[i])) numbers = numbers.replaceAll(arr[i], i+"");
}
if(numbers.charAt(0)=='0') numbers = numbers.substring(1);
return Long.parseLong(numbers);
}
}
알고리즘 풀 때 런타임 에러가 발생하는 이유
https://jaimemin.tistory.com/1522
나는 리턴값이 int 범위를 넘어서였음. 그래서 long으로 했더니 됨.
<느낀 점>
오늘 보안 학습 분량 너무 많아서 다 못 했다.
이번 주말에 꼭 할 거다. 필수!
프로그래머스 난이도 좀 올랐는데, 그래도 오늘 3문제나 풀어서 기뻤음.
이진수, 십진수 변환도 알게 되었고, 알고리즘 풀다가 런타임 에러도 처음 만나 봄.