코딩테스트
-
[프로그래머스] 소수 찾기 자바 에라스토테네스의 체코딩테스트 2025. 4. 7. 19:50
https://school.programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제1 ~ n 까지의 범위에서 소수의 갯수를 구하시오.접근1.기존에 사용했던 소수인지 체크하는 메서드를 활용하여 소수면 answer ++ 한다.public int solution(int n) { int answer = 0; for(int i = 1; i 발견된 문제n이 커질수록 매우 느려짐. 시간초과제안 : 에라스토테네스의 체 법칙 활용. ( i의 모든 배수는 i를 약수로 가진다.)수정public int solution2..
-
[프로그래머스] 시저암호 자바코딩테스트 2025. 4. 7. 19:20
https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제s는 소문자와 대문자, 공백 3가지 요소로 구성된 문자열이다. n은 각 문자열을 뒷문자로 이동시킬 값이다.ex) n = 1, s = 'AB' -> answer = 'BC'제한사항1.'z' 와 'Z'의 다음값은 'a' 와 'A'이다.2.' '은 이동시켜도 변하지 않음. 접근1.s를 문자별로 확인해서 공백이 아니면2. 'z'나 'Z' 혹은 그 외의 경우에 이동처리를 한다. public String solution(String s, int n) {..
-
[프로그래머스] 이상한 문자 만들기 자바 toUpper / toLowerCase코딩테스트 2025. 4. 7. 13:55
https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제s는 1개이상의 단어로 구성되어 있다. 각 단어는" " 으로 구분한다.각 단어를 인덱스 기준으로 짝수는 대문자 홀수는 소문자로 변환해 반환하시오. 접근1. s를 " "기준으로 split2. for 반복문 내부에서 단어별로 index 체크3. index % 2 == 0 ? Character.toUpperCase(c) :Character.toLowerCase(c) 하는 로직으로 구성했다.public static String solution(Str..
-
[프로그래머스] 최대공약수와 최소공배수 자바 유클리드 호제법코딩테스트 2025. 4. 7. 10:15
https://school.programmers.co.kr/learn/courses/30/lessons/12940 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제주어진 두 수의 최대공약수와 최소공배수를 배열에 담아 반환하시오.접근각 수의 약수 리스트를 먼저 구한 후, 반복문으로 m의 약수 목록에 n의 약수가 존재하는지 체크하고 촌재하면 최대값을 갱신 -> 최대공약수 최소공배수는 (n * m) / 최대공약수를 활용했다. public static int[] solution(int n, int m) { List nFactors = getFactors(n); List mFactors..
-
[프로그래머스] 비밀지도 이진법코딩테스트 2025. 4. 6. 23:33
https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제지도는 정사각형이고 한변의 길이는 n이다.arr1과 arr2는 정수로 이루어진 배열이며, 각 정수를 이진수로 바꾸면 지도의 정보가 된다.각 배열의 값을 이진수로 바꾸면, 1 = 벽, 0 = 빈 칸을 의미한다.두 배열을 해독하면 지도1 지도2가 나타나며, 두 지도를 겹쳤을 때의 형태를 벽 '#' 과 빈칸 ' '로 구하여라. 접근일전에 삼진수로 변환하던 문제와 유사할 것이므로1. 우선 이진수로 변환할 역할의 메서드를 별도로 생성한다.2. n =..
-
[프로그래머스] 다트게임 자바 리스트수정 합계코딩테스트 2025. 4. 6. 15:38
https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제문자열 dartResult를 해석한 결과 점수를 구하시오.* 게임은 3회 진행* 회차별 점수는 0 접근1. 문자열에서 점수부분만 따로 추출하여 List에 넣음2. SDT 제곱계산용 메서드 별도 처리3. * # S D T 의 경우의 로직처리 구현public int solution(String dartResult) { int answer = 0; List points = new ArrayList(); //점수..
-
[프로그래머스] 완주하지 못한 선수 자바 해시 맵 활용코딩테스트 2025. 4. 6. 12:01
https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제참가자명단 participant 와 완주자명단 completion이 있다.completion에 없는 유일한 완주 실패자 이름을 찾아 반환하시오.제한사항동명이인이 존재할 수 있음.접근1. 완주자리스트를 리스트 compList로 변환한다.2. 참가자명단을 순회하여 compList.contains로 이름을 찾는다.3. 찾았으면, 해당 인덱스를 리스트에서 제거하고 못찾았으면 이름을 answer에 담아 반환한다.public static String s..
-
[프로그래머스] k번째 수 자바 정렬코딩테스트 2025. 4. 6. 11:27
https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제{i, j, k} 의 모음으로 이루어진 commands를 주어진 배열 array에 대입하여array의 i번째 ~ j번째 까지 잘라 오름차순 정렬 한 후 k번째의 수를 배열에 담아 반환하시오. 접근1.k를 담을 list를 하나 생성한다.2.commands 를 순회하여 각각 i, j, k를 기준으로 array를 분류와 정렬 후 k번째 값을 list에 넣어 반환한다.public int[] solution(int[] array, int[][] co..