일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- java 백준 1509
- kotiln const val
- 자바 1676
- 백준 1504 java
- spring mongoTemplate
- java 파티
- 백준 특정한 최단 경로
- mongodb lookup
- 익명 객체 @transactional
- 자바 백준 팩토리얼 개수
- spring mongodb switch
- kotiln const
- javav 1676
- 전략 패턴이란
- java 1238
- spring mongoTemplate switch
- java 팩토리얼 개수
- spring mongodb
- ipfs bean
- 안정해시
- 백준 연결요소 자바
- java 1509
- Java Call By Refernce
- rabbitmq 싱글톤
- Spring ipfs
- go
- nodejs rabbitmq
- ipfs singletone
- kotiln functional interface
- 백준 2252 줄세우기
Archives
- Today
- Total
공부 흔적남기기
프로그래머스 모의고사 본문
728x90
반응형
import java.util.*;
class Solution {
public int[] solution(int[] answers) {
int firstAnswer = 0;
int secondAnswer = 0;
int thirdAnswer = 0;
//지금 생각해보니 그냥 1번 2번 3번 배열로 받고
// 반복문으로 비교하면 되는 거였음
// 멍청해서 if문으로 다처리해버림..
for(int i=0; i<answers.length; i++){
//1번 방식
if(i% 5 ==0){
if(answers[i] == 1){
firstAnswer++;
}
}else if(i% 5 ==1){
if(answers[i] == 2){
firstAnswer++;
}
}else if(i% 5 ==2){
if(answers[i] == 3){
firstAnswer++;
}
}else if(i% 5 ==3){
if(answers[i] == 4){
firstAnswer++;
}
}else{
if(answers[i] == 5){
firstAnswer++;
}
}
//2번 방식
if(i% 8 ==0 ||i% 8 ==2 || i% 8 ==4 || i% 8 ==6){
if(answers[i] == 2){
secondAnswer++;
}
}else if(i% 8 ==1){
if(answers[i] == 1){
secondAnswer++;
}
}else if(i% 8 ==3){
if(answers[i] == 3){
secondAnswer++;
}
}else if(i% 8 ==5){
if(answers[i] == 4){
secondAnswer++;
}
}else if(i% 8 ==7){
if(answers[i] == 5){
secondAnswer++;
}
}
//3번 방식
if(i% 10 ==0 ||i% 10 ==1){
if(answers[i] == 3){
thirdAnswer++;
}
}else if(i% 10 ==2 || i% 10 ==3){
if(answers[i] == 1){
thirdAnswer++;
}
}else if(i% 10 ==4 || i% 10 ==5){
if(answers[i] == 2){
thirdAnswer++;
}
}else if(i% 10 ==6 || i% 10 ==7){
if(answers[i] == 4){
thirdAnswer++;
}
}else if(i% 10 ==8 || i%10 == 9){
if(answers[i] == 5){
thirdAnswer++;
}
}
}
Integer[] arr = {firstAnswer, secondAnswer, thirdAnswer};
//여기까지는 그냥 풀었는데
//이 return하는게 은근히 귀찮았음
int max = -1;
//점수의 max값을 찾아주고
for(int i =0; i<arr.length; i++){
if(arr[i] > max){
max = arr[i];
}
}
//max와 같다면
//index는 0부터시작하므로 +1을 해줘서 저장 return값이 1 2 3 이렇게 내보내줘야하기때문
ArrayList<Integer> arrayList = new ArrayList<>();
for(int i =0; i<arr.length; i++){
if(arr[i]==max){
arrayList.add(i+1);
}
}
//arrayList 배열로 바꿔서 return~!
int[] answer = new int[arrayList.size()];
for(int i =0; i<arrayList.size(); i++){
answer[i] = arrayList.get(i);
}
for (int i : answer) {
System.out.println(i);
}
return answer;
}
}
출처:https://programmers.co.kr/learn/courses/30/lessons/42840
코딩테스트 연습 - 모의고사
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는
programmers.co.kr
728x90
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
프로그래머스 문자열 내림차순으로 배치하기 (0) | 2022.01.15 |
---|---|
프로그래머스 문자열 내마음대로 정렬하기 (0) | 2022.01.15 |
프로그래머스 로또의 최고 순위와 최저 순위 (0) | 2022.01.15 |
프로그래머스 두 개 뽑아서 더하기 (0) | 2022.01.15 |
프로그래머스 같은 숫자는 싫어 (0) | 2022.01.15 |