본문 바로가기

코딩테스트63

[Java] 프로그래머스 > 소수찾기 https://programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수 반환 소수는 1과 자기 자신으로만 나누어지는 수를 (1은 소수가 X) n은 2이상 1000000이하의 자연수입니다. 문제 보자마자 반복문으로 일차원적으로 풀었다. 그런데 시간 초과로 실패! flag 변수 사용하면 더 간단했을텐데 .. 어쨌든 실패 class Solution { .. 2022. 1. 13.
[Java] 프로그래머스 > 자릿수 더하기 https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 값 구하기 N의 범위 : 100,000,000 이하의 자연수 N의 범위가 커서 반복문을 생각하기에 생각이 꼬여버릴 것 같아 형변환하는 방법으로 풀었다. int값 N을 string으로 바꿔서 split()함수를 이.. 2022. 1. 13.
[Java] 프로그래머스 > 두 개 뽑아서 더하기 https://programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 중복 제거해주는 hashset 이용해서 풀려고 했는데 hashset을 배열로 어떻게 변환하는지 몰라서 엄청 헤매다가 결국 arraylist로 풀었다.. 자바 자료구조 공부 다시 해야 할 듯.. arraylist 사용한 이유 -> 배열과 다르게 동적으로 크기 설정 가능, 특정 값 확인 가능 import java.ut.. 2022. 1. 13.
[Java] 프로그래머스 > 폰켓몬 https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr class Solution { public int solution(int[] nums) { int answer = 0; int n = 0; for(int i=0;i=nums.length/2) break; } return answer; } } 첫번째 원소를 기준으로 배열 값들과 비교하고 같지 않으면 answer+1을 해주고 같으면 다시 검색하도록 구현하였다. 단.. 2021. 12. 31.
[Java] 백준 9251번 LCS https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net LCS(Longest Common Subsequence) 란 최장 공통부분 수열을 의미한다. 예제에서 ACAYKP, CAPCAK의 LCS는 ACAYKP CAPCAK 이다. 테이블을 그려 이해해보자. 테이블을 그리면 다음과 같다. 규칙을 찾아보면 1) x번째 원소와 y번째 원소의 값이 같을 때 C의 경우, AC와 C의 공통부분은 {C} 하나로 길이가 1이.. 2021. 11. 9.
[Java] 백준 11054번 가장 긴 바이토닉 부분 수열 https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 바이토닉 수열이란 특정값을 기준으로 왼쪽은 오름차순, 오른쪽은 내림차순인 수열을 말한다. LIS(최장 증가 부분 수열) 문제와 비슷하다. 왼쪽과 오른쪽으로 각각 탐색하여 더하고 중복을 빼면 된다. 다음은 예제 입력인 {1 5 2 1 4 3 4 5 2 1} 수열에서 왼쪽, 오른쪽 각각 LIS를 탐색한 결과이다. 두 수열을 합친 결과이다. 수열을 합친 후 자기 자신이 중복되어 있으므로 -1을 해주어 결과를 구한다. 따라.. 2021. 11. 9.