목록코테준비/백준 (59)
끄적끄적
출처 : www.acmicpc.net/problem/1181 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다. gist.github.com/minseokim0629/bc64cafc129182c62ed3663355ec9203 오랜만에 compare 함수를 써봐서 좀 헷갈렸다. 크기가 ..
출처 : www.acmicpc.net/problem/10989 시간제한 메모리제한 제출 정답 맞은 사람 정답 비율 3 초 (하단 참고) 8 MB (하단 참고) 100576 22561 16959 22.946% 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 시간제한 안에는 들어온다고 생각해서 vector를 전역변수로 두고, sort 알고리즘 써서 풀어봤다. 하지만 정답률이 낮은 데에는 이유가 있듯 메모리 초과가 났다. ..
출처 : www.acmicpc.net/problem/8933 문제 현대 분자 생물학에서 유전자 정보는 모두 DNA로 인코딩해서 나타낸다. 컴퓨터 과학에서는 DNA를 {A, G, T, C}로만 이루어진 길이가 아주 긴 문자열로 표현한다. 다른 것보다 많이 등장하는 DNA(부분문자열) 패턴을 찾는 일은 유전병 연구에서 매우 중요하다. 이 문제에서는 합성적으로 같은(compositionally equivalent) 부분문자열을 찾으려고 한다. 두 문자열 P, Q에서 등장하는 네 문자 {A, G, T, C}의 개수가 모두 동일할 때, P와 Q는 합성적으로 같은 문자열이라고 한다. 예를 들어, P="ATTATGC"와 Q="GTATCTA"는 P에서 등장하는 'A', G', 'C', 'T'의 개수가 Q와 같기 때문에..
출처 : www.acmicpc.net/problem/19637 문제 게임 개발자인 밀리는 전투력 시스템을 만들어, 캐릭터가 가진 전투력을 기준으로 칭호를 붙여주려고 한다. 예를 들어, 전투력 10,000 이하의 캐릭터는 WEAK, 10,000 초과 그리고 100,000 이하의 캐릭터는 NORMAL, 100,000 초과 그리고 1,000,000 이하의 캐릭터는 STRONG 칭호를 붙여준다고 하자. 이를 IF문으로 작성한다면 아래와 같이 구현할 수 있다. if power
출처 : www.acmicpc.net/problem/1225 문제 A*B를 계산하다 지겨워진 형택이는 A*B를 새로운 방법으로 정의하려고 한다. A에서 한 자리를 뽑고 * B에서 임의로 한 자리를 뽑아 곱한다. 의 가능한 모든 조합 (A가 n자리, B가 m자리 수라면 총 가능한 조합은 n*m개)을 더한 수로 정의하려고 한다. 예를 들어 121*34는 1*3 + 1*4 + 2*3 + 2*4 + 1*3 + 1*4 = 28 이 된다. 이러한 형택이의 곱셈 결과를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. 주어지는 두 수는 모두 10,000자리를 넘지 않는다. 출력 첫째 줄에 형택이의 곱셈 결과를 출력한다. 예제 입력 1 123 45 예제 출력 1 54 두 수가 10000자리 이하라는 ..
출처 : www.acmicpc.net/problem/1402 1402번: 아무래도이문제는A번난이도인것같다 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 100)이 주어진다. 테스트 케이스마다 두 정수 A, B(-231 ≤ A, B ≤ 231-1)가 주어진다. www.acmicpc.net 처음에 약수 찾는 것으로 접근했는데 자꾸 시간초과가 나서 인터넷에 검색해봤다. A는 모두 A'로 만들 수 있다는 것을 알았다. -1, 1 등을 이용해서... 그래서 결론은 어이없게도 그냥 입력받고 yes를 출력하면 되는 문제였다.
출처 www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 간단히 큐 기능을 쓰는 문제. 이런 문제에서 왜 시간초과가 나나 봤더니 cin.tie(0); 과 cin.sync_with_stdio(false); 이 두 줄을 안써서 생긴 문제였다. 앞으로 꼭 쓰자.