[Java / 코딩테스트] 최대 길이 연속수열
·
알고리즘 & 코딩 테스트/Java로 푼 코딩 테스트
1. 생각 중복을 제거해야 하므로 Set을 쓰면 될거같은데 정렬을 해야하나? nums의 길이가 300,000 이므로 시간복잡도를 최대한 적게 써야한다. 정렬 없는 HashSet으로 해결 2. 코드 import java.util.*; class Solution { public int solution(int[] nums){ int answer = 0; HashSet numSet = new HashSet(); for (int num : nums) { numSet.add(num); } for (Integer i : numSet) { if(numSet.contains(i-1)) continue; int cnt = 0; while (numSet.contains(i)) { cnt++; i++; } answer = M..
[Java / 코딩테스트] 청소 문제
·
알고리즘 & 코딩 테스트/Java로 푼 코딩 테스트
1. 생각 일단 k번 반복해야 한다. -> for(k) 초기위치 (0,0) 방향 0 : 오른쪽 1 : 아래 2 : 왼쪽 3 : 위 조건에 따라 이동 2. 생각대로 코딩 [ 코드 ] public int[] solution(int[][] board, int k){ int[] answer = new int[2]; //초기화 answer[0] = 0; answer[1] = 0; int direction = 0; for (int i = 0; i < k; i++) { boolean change = false; //방향전화 변수 // 넘어가면 방향 전환 if (direction == 0 && answer[1] == board.length-1) {change = true;} if (direction == 1 && an..
[Java / 코딩테스트] 사다리타기
·
알고리즘 & 코딩 테스트/Java로 푼 코딩 테스트
1. 생각 일단 n번 반복해야 한다. -> for(n), 임시값 만들기 ladder[i][j]에 값이 포함되면, 오른쪽으로 이동, 임시값 +1 ladder[i][j]+1에 값이 포함되면, 왼쪽으로 이동, 임시값 -1 임시값 -> 문자(A,B,C,D,E...)로 변경 2. 생각대로 코딩 [ 코드 ] import java.util.*; public class Problem01 { public char[] solution(int n, int[][] ladder){ char[] answer = new char[n]; int[] temps = new int[n]; for (int i = 1; i < n+1; i++) { int temp = i; for (int j = 0; j < ladder.length; j++..
[프로그래머스 / Java] 개인정보 수집 유효기간
·
알고리즘 & 코딩 테스트/Java로 푼 코딩 테스트
📍 생각대로 코딩 모든 달이 28일까지 있다고 가정하므로 Date format의 날짜 계산을 다르게 해야한다. import java.util.*; import java.text.*; class Solution { public int[] solution(String today, String[] terms, String[] privacies) { ArrayList answer_list = new ArrayList(); HashMap terms_map = new HashMap(); for(int i=0; i
[프로그래머스 / Java] 기사단원의 무기
·
알고리즘 & 코딩 테스트/Java로 푼 코딩 테스트
📍 생각대로 코딩 number까지의 약수의 갯수를 구해서 배열에 삽입한다 배열에서 limit가 넘어가면 power로 교체한다 배열의 합을 구한다. import java.util.Arrays; class Solution { public int solution(int number, int limit, int power) { int answer = 0; // 1. 약수의 갯수 -> 나머지가 0 int[] counts = new int[number]; int c = 0; for(int i=1; i
[프로그래머스 / Java] 명예의 전당
·
알고리즘 & 코딩 테스트/Java로 푼 코딩 테스트
📍 생각대로 코딩 k일 까지는 그냥 낮은 값이 발표 점수이고 k일 이후부터는 배열정렬해서 찾으면 되지않을까 k가 score 배열의 길이보다 클 때와 작을 때도 있으니 그것도 체크 import java.util.Arrays; class Solution { public int[] solution(int k, int[] score) { int[] answer = new int[score.length]; // 명예의 전당 배열 설정 // 초기값 설정 int[] arr = new int[k+1]; int min = score[0]; arr[0] = min; answer[0] = min; if(k
마볼링
'알고리즘 & 코딩 테스트/Java로 푼 코딩 테스트' 카테고리의 글 목록 (2 Page)