이 영역을 누르면 첫 페이지로 이동
codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

페이지 맨 위로 올라가기

codesche's blog

[프로그래머스]모의고사

  • 2022.12.30 21:55
  • Algorithm/프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/42840

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

긴 설명 없이 바로 풀이로 들어가겠습니다.

 

*풀이

일단 수포자들의 정답 찍는 방식을 각각 배열로 만들어 줍니다.

각각의 배열과 answers 배열을 비교하여 정답을 카운트시켜 줄 변수를 선언해줍니다.

3개의 배열이니 3개의 변수가 필요하겠죠?

그 다음 반복문을 돌려서 각각의 수포자 정답이 일치하는지를 확인해줍니다.

반복문을 거친 후에 answer1, answer2, answer3의 값중에서 최대값을 찾은 후 ArrayList를 선언해줍니다.

만약에 최대값이 answer1 or answer2 or answer3인 경우 answer1은 1, answer2는 2, answer3은 3을 list에 추가해줍니다. 만약에 answer1, answer2, answer3의 값이 같다면 list에 모두 추가됩니다. 그리고 answer 배열의 길이를 ArrayList의 길이만큼 지정해주고 answer배열에 ArrayList의 요소를 넣어주면 끝입니다.

 

*최종소스

 

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import java.util.ArrayList;
 
class Solution {
    public int[] solution (int[] answers) {
        int[] answer = {};
        int[] supo1 = {1, 2, 3, 4, 5};
        int[] supo2 = {2, 1, 2, 3, 2, 4, 2, 5};
        int[] supo3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
 
        int answer1 = 0;
        int answer2 = 0;
        int answer3 = 0;
 
        for (int i = 0; i < answers.length; i++) {
            if (supo1[i % supo1.length] == answers[i]) {
                answer1++;
            }
 
            if (supo2[i % supo2.length] == answers[i]) {
                answer2++;
            }
 
 
            if (supo3[i % supo3.length] == answers[i]) {
                answer3++;
            }
        }
 
        int max = Math.max(Math.max(answer1, answer2), answer3);
        ArrayList<Integer> list = new ArrayList<Integer>();
 
        if (max == answer1) {
            list.add(1);
        }
 
        if (max == answer2) {
            list.add(2);
        }
 
        if (max == answer3) {
            list.add(3);
        }
 
        answer = new int[list.size()];
 
        for (int i = 0; i < answer.length; i++) {
            answer[i] = list.get(i);
        }
 
        return answer;
 
    }
}
 
 
Colored by Color Scripter
cs

'Algorithm > 프로그래머스' 카테고리의 다른 글

[프로그래머스]카운트 다운  (0) 2024.06.10
[프로그래머스]-K번째수  (0) 2022.12.30
[프로그래머스]카펫  (0) 2022.12.28
[프로그래머스]-최소 직사각형  (0) 2022.12.28
[프로그래머스]부족한 금액 계산하기  (0) 2022.12.27

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [프로그래머스]카운트 다운

    [프로그래머스]카운트 다운

    2024.06.10
  • [프로그래머스]-K번째수

    [프로그래머스]-K번째수

    2022.12.30
  • [프로그래머스]카펫

    [프로그래머스]카펫

    2022.12.28
  • [프로그래머스]-최소 직사각형

    [프로그래머스]-최소 직사각형

    2022.12.28
다른 글 더 둘러보기

정보

codesche's blog 블로그의 첫 페이지로 이동

codesche's blog

  • codesche's blog의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (76)
    • Algorithm (15)
      • 백준 (3)
      • 프로그래머스 (10)
      • inflearn 알고리즘(Java) (2)
    • 블로그소개 (1)
    • Back-End (11)
      • Java (10)
      • SpringBoot (1)
    • Database (2)
      • MySQL (0)
      • MariaDB (1)
      • Redis (0)
      • 개념, 이론 (1)
    • Front-End (0)
      • html, css, javascript (0)
    • Git (2)
    • 알고리즘 지식 (11)
      • 자료구조 (11)
    • Study Cafe (21)
      • 기술면접 (6)
      • Clean Code 스터디 (14)
      • CS 스터디 (0)
      • 개발용어 (1)
    • 주간 에세이 (10)
    • DevOps (3)
      • 배포, Front&Back 연동 (1)
      • AWS (0)
      • Docker (1)
      • 이론 (1)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 클린코드
  • 개발자 현실
  • 자료구조
  • git commit
  • 자바 기초
  • 자바 변수
  • java
  • 주간에세이

나의 외부 링크

정보

The Code의 codesche's blog

codesche's blog

The Code

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © The Code. Designed by Fraccino.

티스토리툴바