코딩테스트(29)
-
[프로그래머스] 큰 수 만들기_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 이 문제를 보고 처음에 필자는 이렇게 생각했었다. '조합을 이용해서 숫자를 다 뽑은 다음에, 가장 큰 수를 뽑으면 되지 않을까?' 결과는? 무수한 런타임 에러의 환영을 받았다 ㅎㅎ.. number는 1자리 이상, 1,000,000자리 이하인 숫자입니다. 해당 제한사항 때문에 문자에서 int로 변환하는 과정에서 메모리 초과 이슈로 펑펑 터질 수밖에 없는 것이다^^.. 완전탐색으로 불가능하다면 그리디(greedy)하고 탐욕스럽게 문제를 풀어야한다고 깨닫고 로직 노선을 다시 변경했다. number = "4177252841", k = ..
2022.02.28 -
[프로그래머스] 조이스틱_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 먼저 조이스틱의 상, 하 조작을 살펴보자. 1. 조이스틱의 상,하 조작으로 원하는 알파벳 조작하기 조이스틱을 위로 조작해 알파벳을 찾는 경우는 '알파벳2' - '알파벳1' 처음 'A'에서 아래로 조작해 찾는 경우는 26(총 알파벳 수) - ('알파벳2' - '알파벳1') ex) 'A' 'C' 의 경우 'C' - 'A' = 2로, 위..
2022.02.28 -
[프로그래머스] 체육복_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 여벌 체육복을 가져온 학생이 체육복을 도난당했을 수 있습니다. 이때 이 학생은 체육복을 하나만 도난당했다고 가정하며, 남은 체육복이 하나이기에 다른 학생에게는 체육복을 빌려줄 수 없습니다. 해당 주의사항을 생각하고 로직을 짜면 간단하다. 필자의 로직은 이러하다. 1. 전체학생 n만큼의 배열 int student[n] = 1 로, answer = n으로 ..
2022.02.28 -
[프로그래머스] 모의고사_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 각 수포자가 문제를 찍는 규칙을 배열로 만들어둔다. 1번 수포자는 [1, 2, 3, 4, 5] 2번 수포자는 [2, 1, 2, 3, 2, 4, 2, 5] 3번 수포자는 [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] 정답과 해당 규칙을 비교해서 각각 정답 수를 count해주면 끝 import java.util.Arrays; import java..
2022.02.22 -
[프로그래머스] H-index_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 문제만 이해하면 금방 풀 수 있는 문제이다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 먼저 인용 횟수로 정렬한다. citations return [3, 0, 6, 1, 5] 3 [0, 1, 3, 5,..
2022.02.22 -
[프로그래머스] 가장 큰 수_JAVA
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 정수를 이어 붙여 가장 큰 수를 만들기 위해서는 맨 앞자리의 숫자가 중요하다. 만약 앞자리의 숫자가 같다면 그 다음 숫자의 크기가 중요할 것이다. ex) [3, 30, 34, 5, 9] 프로그래머스 예제 3과 30을 두고 보면 3을 앞에 두는게 더 좋을 것이다. 330 vs 303 허나..
2022.02.22