Coding Test/Coding Test 문제 풀이
-
프로그래머스 (Level 1) - 소수 만들기Coding Test/Coding Test 문제 풀이 2021. 12. 26. 16:16
문제 설명 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 풀이 주어진 정수형 배열 nums에서 임의의 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하는 문제이다. 우선, 정수형 배열 nums에서 완전 탐색 기법을 사용해서 3개의 숫자로 구성할 수 있는 모든 조합을 탐색하였다. 3개의 숫자 조합을 탐색할 때마다 3개 숫자의 합을 구하고, 구한 숫자가 소수인지 아닌지 판별 함으로써 문제를 해결하였다. 전체 소스코드 import java.io.*; import java.util.*; p..
-
프로그래머스 (Leve 1) - 내적Coding Test/Coding Test 문제 풀이 2021. 12. 26. 15:11
문제 설명 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 풀이 a와 b배열 내 원소를 하나씩 탐색하고, 곱한 후 더해주는 방식으로 문제를 해결하였다. 전체 소스코드 import java.io.*; import java.util.*; public class Solution04 { public int solution(int[] a, int[] b) { int answer = 0; for (int i = 0; i < a.lengt..
-
프로그래머스 (Level 1) - 없는 숫자 더하기Coding Test/Coding Test 문제 풀이 2021. 12. 26. 14:48
문제 설명 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 풀이 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers에서 찾을 수 없는 숫자를 모두 더한 수를 계산하는 문제이다. 우선, false로 초기화된 불리언 배열 checked를 선언한다. numbers 배열을 하나씩 탐색하면서 checked 배열 내 원소를 true로 변경한다. numbers 배열의 탐색이 끝났으면, checked 배열 내 원소가 false인 인덱스를 모두 더해주는 방식으로 해결을..
-
프로그래머스 (Level 1) - 음양 더하기Coding Test/Coding Test 문제 풀이 2021. 12. 26. 14:37
문제 설명 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 풀이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어진다. 주어진 정보를 가지고 실제 정수들의 합을 구하는 문제이다. 반복문을 통해서 배열 내 절댓값 정수를 하나씩 탐색한다. 만약, signs의 원소가 false 인 경우 해당 절댓값에 -1 부호를 붙여 더해주는 방식으로 문제를 해결했다. 전체 소스코드 import java.io.*; imp..
-
프로그래머스 (Level 1) - 로또의 최고 순위와 최저 순위Coding Test/Coding Test 문제 풀이 2021. 12. 26. 00:29
문제 설명 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 최저 순위를 구하기 위해, 이중 반복문을 통해서 당첨 번호와 일치하는 번호의 수를 카운트했다. 동시에 최대 순위를 구하기 위해 0인 숫자들을 카운트했다. 위에 항목들을 모두 구하면 아래와 같이 계산이 가능하다. 1. 당첨 번호와 일치하는 번호의 수 + 0인 숫자 = 최대로 일치할 수 있는 번호의 수 2. 당첨 번호와 일치하는 번호의 수 = 최소로 일치할 수 있는 번호의 수 위의 계산식을 바탕으로 최대..
-
프로그래머스 (Level 1) - 다트 게임Coding Test/Coding Test 문제 풀이 2021. 12. 25. 16:53
문제 설명 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 풀이 다른 자료구조나 알고리즘이 필요한 방식이 아닌, 평범한 구현 문제였다. 문제 설명에서 주어진 보너스, 옵션에 부합하도록 점수를 조정해주면 되는 문제이다. 입력받은 문자열의 문자를 하나씩 탐색하면서 점수, 보너스, 옵션을 조건문으로 분리하며 풀이를 했다. 점수에 해당하는 인덱스를 적절하게 조정해서 보너스 또는 옵션을 부여하는 것이 핵심이었다. 전체 소스코드 import java.io.*; import java.util.*; public class Main { public int solution(String dartResult) { int[] points = new int[3]; int index = -1; for (in..