Koala - 8기

1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 풀이 1. 딕셔너리 구조를 이용하여 각 문자가 몇번이나 등장하는지 value에 저장한다. 2. 딕셔너리 value 값을 람다함수를 이용하여 내림차순으로 정렬한다. 3-1. 딕셔너리에 입력된 문자가 한개인 경우, 첫 번째 키(가장 많이 등장한 문자)를 대문자로 출력한다. 3-2. 딕셔너리에 입력된 문자가 여러개인 경우, 첫번째 키와 두번째 키의 value를 비교하여 동일한 경우 '가장 많이 사용된 알파벳이 여러개인 경우'에 해당하므로 '?'를 출력한다. 코드 string = input() stri..
https://www.acmicpc.net/problem/2828 2828번: 사과 담기 게임 상근이는 오락실에서 바구니를 옮기는 오래된 게임을 한다. 스크린은 N칸으로 나누어져 있다. 스크린의 아래쪽에는 M칸을 차지하는 바구니가 있다. (M screen >> basket; cin >> apple; int* arr = new int[apple]; int location; for (int i = 0; i > location; arr[i] = location; } int left = 0, right = basket - 1; int cost = 0; for (int i = 0; i < apple; ++i) { int dropIdx = arr[i] - 1; int dista..
https://www.acmicpc.net/problem/1371 1371번: 가장 많은 글자 첫째 줄부터 글의 문장이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이 www.acmicpc.net 문장이 주어지고 문장에서 가장 많이 사용된 알파벳을 출력하는 문제이다. 사용자로부터 문자열을 입력받다가 EOFError가 발생하면 알파벳을 계산한다. try를 이용하여 사용자로부터 문자열을 입력받고, 입력받은 문자열의 알파벳 딕셔너리를 만든다. 딕셔너리 키는 알파벳, 벨류는 등장 횟수로 한다. 결과를 계산하기 위한 리스트를 선언하고 만든 딕셔너리에 존재하는 공백 키를 제거한다. 반복문을 통..
문제 https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net 코드 풀이 소수만 arr에 저장하기 위해 입력받은 N만큼의 리스트를 모두 True로 저장한 뒤 2부터 곱해지는 수들을 모두 False로 만든다. 이때 j를 2부터 하나씩 더하면서 곱하므로 N의 제곱근까지 범위로 설정하면 N까지 모든 소수를 찾아낼 수 있다. True로 저장된 소수를 result 안에 넣고 2부터 곱해지는 수를 False로 저장했으므로 True로 남아있는 0과 1을 빼낸다. 그 이후 투포인터를 실행하는데 L부터 R까지의 합이 N과 같으면 cnt+=1하고 합이 더 크면 L을 옮겨서 sum의 범위를 ..
https://www.acmicpc.net/problem/23972 23972번: 악마의 제안 첫째 줄에 악마가 제안한 정수 K와 N이 공백을 사이에 두고 주어진다. (1 ≤ K, N ≤ 200,000,000) www.acmicpc.net 문제 어느 날, 민주는 꿈에서 악마를 만나게 되었다. 악마는 자신에게 K원을 지불하면, 지불하고 남은 금액을 N배로 만들어준다고 한다. 민주는 자신이 최소 몇 원을 가지고 있어야 악마에게 K원을 지불했을 때 손해를 보지 않는지 알고 싶다. 악마가 제안한 K와 N이 주어졌을 때, 민주가 손해 보지 않기 위해 가지고 있어야 하는 최소 금액 X를 구해주자. 단, 금액은 정수여야 한다. 입력 첫째 줄에 악마가 제안한 정수 K와 N이 공백을 사이에 두고 주어진다. (1 ≤ K,..
문제 문제플이 오랜시간 고민하다가 비교해야하는 단어는 리스트 로 만들고 단어의 첫머리가 D에 속하는지 유무로 나눈 다음 경우를 다시 분류해서 풀게 되었습니다!!! D=['i', 'pa', 'te', 'ni', 'niti', 'a', 'ali', 'nego', 'no', 'ili'] a=input().split() for i in range(len(a)): if i==0 : if a[i] in D: print( a[i][0].upper(),end="") if a[i] not in D: print( a[i][0].upper(),end="") else: if a[i] in D:None else:print(a[i][0].upper(),end="")
https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 1. 문제 상근이는 세계적인 소프트웨어 회사 기글에서 일한다. 이 회사의 가장 큰 특징은 자유로운 출퇴근 시간이다. 따라서, 직원들은 반드시 9시부터 6시까지 회사에 있지 않아도 된다. 각 직원은 자기가 원할 때 출근할 수 있고, 아무때나 퇴근할 수 있다. 상근이는 모든 사람의 출입카드 시스템의 로그를 가지고 있다. 이 로그는 어떤 사람이 회사에 들어왔는지,..
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")
KauKoala
'Koala - 8기' 카테고리의 글 목록 (2 Page)