목록알고리즘테스트 (115)
거인의 코딩일지
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bQrW2U/btsrfh2mENw/nG4a3yGduhOZPtg9OdAeHk/img.png)
import java.util.*; class Solution { public long solution(long n) { long answer = 0; StringBuilder str = new StringBuilder();; String [] arr = String.valueOf(n).split(""); Arrays.sort(arr); for(int i = arr.length-1; i>= 0; i--){ str.append(arr[i]); answer = Long.parseLong(str.toString()); } return answer; } } StringBuilder 을 사용하였고 String로 형변환 하여 String 배열에 split로 나눠준 뒤 값을 넣어주었고 Arrays.sort(); 를 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bqolbW/btsrffKeQkv/og0JE8F3ST6NoifkA3OE81/img.png)
class Solution { public String solution(int n) { String answer = ""; for(int i = 1 ; i
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/BXyLY/btsq7aXbe2y/aUU7TduKet3djLLkWmosWk/img.png)
class Solution { public String solution(String s) { String answer = ""; if(s.length() % 2 == 0){ answer = s.substring(s.length() / 2-1, s.length() / 2+1); }else{ answer = s.substring(s.length() / 2, s.length() / 2+1); } return answer; } } 홀수와 짝수를 구분해서 가져와야 했기 때문에 if 조건문으로 거른뒤에 substring함수를 활용하여 answer 에 할당시켜 주었다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bgV6zq/btsq2jAnkT4/olpJIjU4fNm8Qq8s1fv6z0/img.png)
class Solution { public String solution(String s, int n) { String answer = ""; char [] arr = s.toCharArray(); for(int i = 0; i = 65 && num 90){ num -= 26; } }else if(num >= 97 && num 122){ num -= 26; } } answer += (char)num; } return answer; } } char 배열로 선언후 int 로 형변환 시킴으로서 아스키 코드를 활용하여 if 조건문으로 소문자와 대문자를 나눠주었고 그 안에서 z 혹은 Z 의 값이 될경우 다시 a로 변환 시켜주..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b5FFiT/btsqLvzNdpL/Ikwr0B9UhwrpB9Qsnu2wu0/img.png)
class Solution { public String solution(String X, String Y) { StringBuilder answer = new StringBuilder(); int [] xArr = new int [10]; int [] yArr = new int [10]; for(int i = 0; i = 0; i--){ for(int j =0; j
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/9haQW/btsqDd8uXEu/mEJi1sGLdwuPqBTru8JaXK/img.png)
class Solution { public int solution(int[] number) { int answer = 0; for(int i = 0; i < number.length; i++){ for(int j = i+1; j< number.length; j++){ for(int k = j+1; k< number.length; k++){ if(number[i]+number[j]+number[k]==0){ answer++; } } } } return answer; } } 학생들은 각각의 정수번호를 가지고 있다. 3명의 학생의 정수 번호를 합쳐서 0 이라면 삼총사 결성! 그러면 배열에서 3개의 정수를 뽑아와서 더해주고, 0일때 result 를 ++ for반복문 3개를 통해 배열에 접근 그 뒤 마지막 for..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/csJpLB/btsqJFvO3RK/zEz2CMPAAhymbAKLvkRlN0/img.png)
class Solution { public int solution(int n, int m, int[] section) { int start = section[0]; int answer = 1; for(int i = 1; i < section.length; i++) { if(start + m - 1 < section[i]) { answer++; start = section[i]; } } return answer; } } 문제가 너무너무 길어서 읽고 해석하는데 시간이 많이 걸렸다! 하지만 코드는 생각보다 단순했다! start 라는 변수에 section 배열의 첫번째 값을 대입해주고 반복문을 돌려서 그 안에 if 조건문으로 answer 을 늘려준뒤 start를 초기화 해주는 것이다!
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/E0knY/btsqD5uTSki/8qR5HLRknaUnoxZaJs7Nx0/img.png)
class Solution { public int[] solution(int[] lottos, int[] win_nums) { int[] answer = new int[2]; int count = 0; int z_count = 0; for(int i : lottos){ if(i == 0){ z_count++; } else { for(int j : win_nums){ if(i == j){ count++; break; } } } } answer[0] = (count+z_count) > 1 ? 7-(count+z_count) : 6; answer[1] = count > 1 ? 7-count : 6; return answer; } } 우선 문제가 너무 길었다...! 문제를 잘 읽고 우선 0을 세주고 맞은걸 카운..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/qDgHm/btsnpF1dsUi/OSYcfvqmKhci0uRS3iXWFK/img.png)
import java.util.Map; import java.util.HashMap; class Solution { public String[] solution(String[] players, String[] callings) { Map map = new HashMap(); for(int i =0; i< players.length; i++){ map.put(players[i], i); } for(String player : callings){ // 등수와 앞에 가던 선수를 가져옴 int num = map.get(player); String overPlayer = players[num-1]; // players 의 배열을 update 해준다음 players[num-1] = player; players[nu..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Z5tBf/btslEsnyc7W/MKt0NKFNmkesBCUIfZzKx1/img.png)
class Solution { public int solution(int[] array, int height) { int answer = 0; for(int i = 0; i height){ answer++; } } return answer; } } 오랜만에 0 단계를 풀었다...! 정답률이 높은 문제였어서 그런지 생각보다 쉽게 해결했다! for 반복문에 if 조건문을 걸어줘서 해당하면 answer 을 하나씩 추가하는 방법으로 해결했다!