Koala - 7기

[나의 풀이 방법] - 문자열을 받을 개수를 입력하고 그 수만큼 반복하며 문자열 입력 - 입력받은 문자열에서 문자를 가져와 ord 함수를 이용해 아스키 코드로 변환 - set로 만들어 중복 값이 없도록 설정 - 반복하면서 입력받은 문자의 아스키 코드가 아닌것들만 모음 - 더한 값을 출력
https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제 해석 연속되어 있는 단어들 중, 앞서 나온 단어가 후에 동떨어져서 출현한다면, 해당 단어는 그룹 단어가 아니다. 따라서 스트링으로 받고, 연속되는 지점이 끊기는 지점 (ex- aaabc에서 마지막 a에 해당하는 지점)에서 해당 문자가 뒤쪽 스트링에 나타나는지 확인하여 나타난다면 no를, 나타나지 않는다면 yes를 출력한다. 코드
코드 n = input() ans = n[::-1] if ans in n : print('true') else : print('false')
문제 도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는다. 정확하게 24시간이 되는 순간이 아니면 잡지 않는 CTU 특수요원이다. 2008년 3월 3일 월요일, CTU는 새학기에 맞춰 핵폭탄을 날리겠다는 테러 정보를 입수했다. CTU에서는 특수요원 도현이에게 이 임무를 맡겼다. CTU의 프로그래머 준규는 이 사건의 배후가 김선영이란 것을 해킹을 통해 밝혀내었다. 도현이는 선영이를 임무를 시작한지 정확하게 24시간이 되는 순간에 잡으려고 한다. 만약 지금 시간이 13:52:30이고, 임무를 시작한 시간이 14:00:00 이라면 도현이에게 남은시..
문제 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. 출력 첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다. 예제 입력 1 복사 3 예제 출력 1 복사 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 문제풀이 n을 입력받으면 n!개의 줄에 걸쳐 모든 순열을 순차적으로 출력하면 된다. 반복문을 사용해야 하나..? 생각이 들었는데 뭔가 이런 문제들만을 위한 방법이 따로 있을것 같아 구글링해봤더니 역시 대표적인 문제유형 중 하나였다. vectorv(n); // 입력받은 n의 크기만큼 배열을 생성하며, 동시의 각 배열의 값을 0으로 초기화해주는 코드다. (next_permut..
문제 매일 밤, 정인이는 상근이에게 이메일을 보낸다. 정인이는 자신의 이메일이 해킹당할 수도 있다는 생각에, 내용을 항상 암호화해서 보낸다. 정인이가 사용하는 암호 알고리즘은 다음과 같다. 정인이가 보내는 메시지는 총 N글자이다. 먼저, 정인이는 R A; a = strlen(A); for(int i=1; i
https://www.acmicpc.net/problem/2789 2789번: 유학 금지 아주 멀리 떨어져 있는 작은 나라가 있다. 이 나라에서 가장 공부를 잘하는 학생들은 모두 다른 나라로 유학을 간다. 정부는 최고의 학생들이 자꾸 유학을 가는 이유를 찾으려고 했다. 하지만, www.acmicpc.net 문제 분석 1. 문자열을 입력받는다. 2. 각 문자가 CAMBRIDGE애 있는지 확인 3. CAMBRIDGE에 있으면 제거 4. 출력
Intro Solution 주어진 문자열에 특정한 알파벳이 몇 개 들어있는지 구하는 문제다. 질문이 최대 200,000개 주어지며 알파벳이 중복으로 주어질 수 있기 때문에 누적 합을 이용해서 시간복잡도를 줄여야 한다. 주어진 질문의 알파벳이 처음 나왔다면, 문자열을 순회하며 해당 문자열 개수의 누적 합을 저장한다. python으로 실행할 때 제한 시간을 통과하지 못했으나, pypy3으로는 통과할 수 있었다. Code import sys input = sys.stdin.readline def solve(): S = input().strip() size = len(S) q = int(input()) psum = {} for _ in range(q): a, l, r = input().split() l, r =..
문제 https://www.acmicpc.net/problem/3059 3059번: 등장하지 않는 문자의 합 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 문자열 S가 주어진다. S는 알파벳 www.acmicpc.net 코드 풀이 차집합을 사용하여 전체 알파벳이 들어있는 집합에서 입력한 집합을 빼서 아스키코드로 변경했다.
문제 코드 n= int(input()) #테스트 케이스의 개수 for _ in range(n): A,B=map(str,input().split()) a = sorted(list(A)) b = sorted(list(B)) if a == b: print("%s & %s are anagrams."%(A, B)) else: print("%s & %s are NOT anagrams."%(A, B)) 풀이 구현 : 1. A와 B의 단어에서 사용된 알파벳을 하나하나 구분하여 리스트를 만든다. 2. A,B의 리스트를 알파벳 순서로 정렬한다. 3. 정렬한 리스트가 같다면 애너그램 성립 ! 실현 : 1. 우선 int(input())을 이용하여 테스트 케이스의 개수를 입력받는다. 2.
https://www.acmicpc.net/problem/2315 2315번: 가로등 끄기 첫째 줄에는 2개의 정수 N(1 ≤ N ≤ 1,000), M 이 있다. 첫 번째 정수 N은 가로등의 개수를 나타내는 정수이고, 두 번째 정수 M은 마징가 처음에 위치하는 가로등 번호이다. 다음 N 개의 줄에는 각 가 www.acmicpc.net 문제 문제 유형 다이나믹 프로그래밍, 누적 합 문제 분석 실력과 기술이 좋지않으면 잡무나 평생하게 된다는 철학을 담은 문제다. 마징가z가 특정 위치(가로등) 에서 시작하고, 모든 가로등을 끌 때 까지 소모되는 전력양을 구하는 문제이다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.I..
https://www.acmicpc.net/problem/2435 2435번: 기상청 인턴 신현수 첫째 줄에 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 주어진다. N은 온도를 측정한 전체 날짜의 수이다. N은 2이상, 100이하이다. K는 합을 구하기 위한 연속적인 날짜의 수이다. K는 1과 N 사 www.acmicpc.net 문제 분석 N개의 정수를 입력 받아서 연속되는 K개의 수의 합이 최대가 되는 값을 구하는 문제이다. 누적합을 사용해야 시간 제한을 어기지 않을 수 있다. 코드 #include #include using namespace std; int main(){ int n, k; cin>>n>>k; int sum[n+1]; sum[0] = 0; int tmp; for(int i=1;..
KauKoala
'Koala - 7기' 카테고리의 글 목록 (6 Page)