smooth waters run deep

전체 글 122

Level2_기능개발 (C++) (JAVA)

코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr [C++] : 큐로 구현 #include #include using namespace std; vector solution(vector progresses, vector speeds) { queue days; //걸리는 시간 저장 vector answer; int max_day; int cnt = 1; //answer에 넣을 값 bool flag = false; //answer에 넣었는지 확인하기 위한 flag if (progresses.size() > ..

1d-1c/Programmers 2020.11.05

2108_통계학 (JAVA)

2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { public static void main(String[] args) throws Ex..

1d-1c/BOJ 2020.11.04

10989_수 정렬하기3 (JAVA)

10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(S..

1d-1c/BOJ 2020.11.03

카운팅 정렬 (Counting Sort)

Counting Sort - 원소 간 비교 과정을 거치지 않고 정렬하는 방법 - 시간복잡도 = O(n) - O(nlogn)의 Quick Sort(퀵 정렬)보다 빠르지만, 사용할 수 있는 경우가 제한적이다. : 배열을 이용해 정렬을 수행하기 때문에 - 불필요한 메모리를 많이 잡아먹는다. - 배열 인덱스를 기반으로 정렬을 수행하기 때문에, 음수/소수 일 경우에는 특정 값을 더하거나 곱해서 사용한다. 예시 - {5, 2, 3, 1, 4, 2, 3, 5, 1, 7} 을 카운팅 정렬 해보자. 1. input[] 배열의 최댓값 만큼의 countint[] 배열을 생성한다. 2. input[] 배열을 하나씩 읽어가며, 숫자가 나온 횟수를 카운팅하여 counting[] 배열에 저장한다. 3. counting[i] += ..

Level1_체육복 (JAVA)

코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr class Solution { public int solution(int n, int[] lost, int[] reserve) { int answer = n; boolean[] nohave = new boolean[n+1]; boolean[] borrow = new boolean[n+1]; for(int i=0; i

1d-1c/Programmers 2020.11.02

Level1_모의고사 (JAVA)

코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr import java.util.ArrayList; import java.util.List; class Solution { public int[] solution(int[] answers) { int[] temp = new int[3]; List ans = new ArrayList(); int[] supoja1 = {1,2,3,4,5}; int[] supoja2 = {2,1,2,3,2,4,2,5}; int[] supoja3 = {3,3,1,1,2,2,4,4,5,5..

1d-1c/Programmers 2020.11.02

Level1_두 개 뽑아서 더하기 (JAVA)

코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr import java.util.*; class Solution { public int[] solution(int[] numbers) { Set temp = new HashSet(); for(int i=0; i

1d-1c/Programmers 2020.10.31

Level1_완주하지 못한 선수 (C++) (JAVA)

코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr [C++] #include #include #include using namespace std; string solution(vector participant, vector completion) { string answer = ""; unordered_map p; //participant 해시맵 for (int i = 0; i < participant.size(); i++){ if (p.end() == p.find(participant[i])..

1d-1c/Programmers 2020.10.31