1. 2016년
https://school.programmers.co.kr/learn/courses/30/lessons/12901
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution{
public String solution(int a, int b){
int c = 0;
String[] day = {"THU", "FRI","SAT","SUN","MON","TUE","WED"};
int[] month = {31,29,31,30,31,30,31,31,30,31,30,31};
if(a == 1) c = b;
else{
for(int i = 0; i < a - 1; ++i){
c += month[i];
}
c += b;
}
return day[c % 7];
}
}
2. 소수 찾기
https://school.programmers.co.kr/learn/courses/30/lessons/12921
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution{
public int solution(int n){
int answer = 0;
boolean[] visit = new boolean[1000001];
for(int i = 2; i < 1000001; ++i){
if(i > n) break;
if(!visit[i]){
answer += 1;
for(int j = i; j < 1000001; j += i){
visit[j] = true;
}
}
}
return answer;
}
}
3. 콜라 문제
https://school.programmers.co.kr/learn/courses/30/lessons/132267
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
4. 폰켓몬
https://school.programmers.co.kr/learn/courses/30/lessons/1845
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution{
public int solution(int[] nums){
int answer= 0;
HashSet<Integer> set = new HashSet<>();
for(int num : nums){
set.add(num);
}
answer = set.size() > nums.length / 2 ? nums.length / 2 : set.size();
return answer;
}
}
4. 모의고사
https://school.programmers.co.kr/learn/courses/30/lessons/42840
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int[] first = {1,2,3,4,5}; // 5개씩 반복
int[] second = {2,1,2,3,2,4,2,5}; // 8개씩 반복
int[] third = {3,3,1,1,2,2,4,4,5,5}; // 10개씩 반복
int[] score = {0,0,0}; // 각 수포자들의 점수
// 수포자들의 점수 계산
for(int i=0; i<answers.length; i++) {
if(answers[i] == first[i%5]) score[0]++;
if(answers[i] == second[i%8]) score[1]++;
if(answers[i] == third[i%10]) score[2]++;
}
// 최대 점수 구하기
int max = Math.max(score[0], Math.max(score[1], score[2]));
// 최대 점수를 가진 수포자 리스트 생성
// 쓰는 이유는 배열로 만들고 cnt를 쓸 필요가 없어서
List<Integer> answ = new ArrayList<Integer>();
for(int i=0; i<score.length; i++) if(max == score[i]) answ.add(i+1);
int[] answer = new int[answ.size()];
for(int i=0; i<answ.size(); i++){
answer[i] = answ.get(i);
}
return answer;
}
}
Appendix
1. 리스트 정렬은 collections.sort(arr), 어레이 정렬은 Arrays.sort(arr);
2. String을 자르기는 substring
3. ArrayList 란 ? ( 배열을 만들어 크기가 다른 값을 넣는 과정 파악)
//암기 하기
List<Integer> answ = new ArrayList<Integer>();
for(int i=0; i<score.length; i++) if(max == score[i]) answ.add(i+1);
int[] answer = new int[answ.size()];
for(int i=0; i<answ.size(); i++){
answer[i] = answ.get(i);
}
4. LinkedList 란 ?
'코딩테스트 > programmers' 카테고리의 다른 글
프로그래머스 [#10] 코딩테스트 연습 JAVA - 10 (0) | 2023.02.08 |
---|---|
프로그래머스 [#9] 코딩테스트 연습 JAVA - 9 (0) | 2023.02.01 |
프로그래머스 [#7] 코딩테스트 연습 JAVA - 7 (0) | 2023.01.05 |
프로그래머스 [#5] 코딩테스트 연습 JAVA - 5 -(only Lv 2) (0) | 2022.12.15 |
프로그래머스 [#4] 코딩테스트 연습 JAVA - 4 (0) | 2022.12.07 |
댓글