전체 글

항공대 알고리즘 동아리 Koala 🥰
https://www.acmicpc.net/problem/14724 14724번: 관리자는 누구? PROBRAIN, GROW, ARGOS, ADMIN, ANT, MOTION, SPG, COMON, ALMIGHTY중 동문 커뮤니티 관리자로 선발되는 후보가 소속한 동아리의 이름을 대문자로 출력한다. www.acmicpc.net 풀이 전략 우선 동아리 목록의 순서는 변하지 않으므로 리스트로 만들어준다. 여러 값들을 공백을 기준으로 입력받으려면 member = list(map(int, input().split())) 처럼 리스트에 넣어주면 된다. 딕셔너리인 dict 객체 안에는 각 라인별 최고 점수 회원을 value 값, 리스트로 선언해준 동아리 이름을 key값으로 둔다. 그렇게 된다면 dict 안에는 동아리별..
https://www.acmicpc.net/problem/5704 5704번: 팬그램 입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 많아야 200글자로 이루어져 있는 문장이다. 단어는 공백 하나로 구분되어 있다. 또, 단어는 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 위 문제는 입력받은 문자열에 모든 알파벳이 1회 이상 사용되었는지를 확인하는 문제이다. 파이썬 코드 딕셔너리를 이용하여 위 문제를 해결했습니다. 무한루프를 돌면서 사용자에게 문자열을 입력받습니다. 이 때 문자열에 *가 입력될 경우 무한루프를 탈출합니다. 알파벳 딕셔너리를 만든 후, for문을 돌면서 각 배열의 인덱스를 딕셔너리에 추가해줍니다. 만약 문자열에 모든 알파벳이 사용되었다면 딕셔너리 키값의 길이..
https://www.acmicpc.net/problem/20922 20922번: 겹치는 건 싫어 홍대병에 걸린 도현이는 겹치는 것을 매우 싫어한다. 특히 수열에서 같은 원소가 여러 개 들어 있는 수열을 싫어한다. 도현이를 위해 같은 원소가 $K$개 이하로 들어 있는 최장 연속 부분 수열 www.acmicpc.net 🖇 투포인터 문제설명 길이가 n인 수열이 입력으로 주어지고, 그 수열에서 중복되는 숫자가 k개 이하인 "가장 긴 연속 부분 수열"의 길이를 출력하는 문제다. 코드 from collections import defaultdict input=__import__('sys').stdin.readline n,k=map(int,input().split()) li=list(map(int,input().s..
문제 링크 https://www.acmicpc.net/problem/1620 TISTORY 나를 표현하는 블로그를 만들어보세요. www.tistory.com 문제 풀이 본 문제는 일반적인 배열로 풀게 될 경우 시간 초과가 나게 된다. 배열로 구현하게 되면 자료구조에 포켓몬의 이름과 도감 번호를 저장하고 그것을 검색해나가는 과정에서 시간이 초과된다. 최악의 경우를 살펴보자. 포켓몬의 수인 N과 풀어야할 문제 M이 있다. 그리고 둘의 최댓값은 100,000이다. 둘 다 100,000이라고 가정해보자. 문제 M개가 전부 배열의 마지막 원소. 즉, 100,000번째 원소를 구하는 문제라고 하면 문제 하나를 풀 때 탐색 연산을 100,000번 진행하게 된다. 그런 문제를 M번 풀게 되면 100,000 * 100,..
https://www.acmicpc.net/problem/15963 15963번: CASIO 카시오 계산기는 만능 계산기이다. 시험을 한 번이라도 쳐본 일곽인이라면, 이 카시오의 소중함에 대해서 뼈저리게 느껴보았을 것이다. 하지만, 이런 카시오에도 함정이 있다. 바로, 카시오 계 www.acmicpc.net 문제 풀이 1. split을 통해 두 변수에 각각 숫자를 입력받는다. 2. if문을 통해 비교한 뒤 결과를 출력한다. 문제 코드 a,b = map(int, input().split()) if a==b: print("1") else: print("0")
문제 https://www.acmicpc.net/problem/14495 14495번: 피보나치 비스무리한 수열 피보나치 비스무리한 수열은 f(n) = f(n-1) + f(n-3)인 수열이다. f(1) = f(2) = f(3) = 1이며 피보나치 비스무리한 수열을 나열하면 다음과 같다. 1, 1, 1, 2, 3, 4, 6, 9, 13, 19, ... 자연수 n을 입력받아 n번째 피보 www.acmicpc.net 코드 풀이 f(n)=f(n-1)+f(n-3)인 수열이므로 fibo 리스트의 길이를 3으로 설정해서 입력된 n까지 수열을 구한다. 이때 3부터 반복문을 돌려야 수열의 시작이 1,1,1,2가 될 수 있고, 리스트의 2번째 값을 기준으로 fibo를 계속 업데이트하기 때문에 n까지 fibo를 구했을 때 ..
https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 문제설명 [dp] 일렬로 나열된 숫자 중 특정한 조건에 맞게 숫자의 최대 합을 구해야 하는 문제다. (특정한 조건: 연속된 세 수는 취할 수 없음 - 두 수를 연속으로 취했다면, 그 다음 수는 취할 수 없음) 코드 # 21735 input=__import__('sys').stdin.readline n=int(input()) li=[] for i in range(n): li.append(int(inp..
문제풀이 문제 를 보면 일단 테스트 케이스를 입력받고 앞에 입력받은 2단어를 뒤로 보내면 된다. 일단 map을 이용해서 리스트로 받고 그 다음 인덱싱을 이용해 자른 다음 맨 뒤에 두 단어를 추가해주면 된다. 문제 코드 N=int(input()) for i in range(N): k=list(map(str,input().split( ))) print(' '.join(k[2::]+k[0:2]))
https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 문제 다솜이는 사람의 마음을 읽을 수 있는 기계를 가지고 있다. 다솜이는 이 기계를 이용해서 2008년 4월 9일 국회의원 선거를 조작하려고 한다. 다솜이의 기계는 각 사람들이 누구를 찍을 지 미리 읽을 수 있다. 어떤 사람이 누구를 찍을 지 정했으면, 반드시 선거때 그 사람을 찍는다. 현재 형택구에 나온 국회의원 후보는 N명이다. 다솜이는 이 기계를 이용해서 그 마을의 주민 M명의 마..
문제 문자열을 입력받으면 그 문자열을 10글자씩 끊어서 출력하면 되는 문제였다. substring과 같은 메소드를 사용하는 것이었고, c++에서는 substr()을 이용하여 풀 수 있을 것으로 생각했다. 접근 1차 #include using namespace std; int main() { string str; cin >> str; while (true) { cout
https://www.acmicpc.net/problem/5597 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 모의테스트 A번 문제입니다. 파이썬 코드 리스트를 이용하여 문제를 해결했습니다. 각 리스트 항목을 0번째를 제외하고 1~30으로 초기화했습니다. 0번째 항목은 계산을 간편하게 하기 위한 인덱스입니다. for문을 이용하여 사용자에게 학생의 번호를 입력받습니다. 입력받은 숫자가 리스트에 존재할 경우 학생 번호에 해당하는 항목을 0으로 바꿉니다. 다음 반복문을 통해 0으로 변경된 학생 번호..
16430번: 제리와 톰 첫 번째 줄에 두 정수 A, B (1 ≤ A
KauKoala
Koala