전체 글

항공대 알고리즘 동아리 Koala 🥰
문제 링크 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net 문제 문제 해석 이름과 출입 기록을 입력한다. 출입 기록이 enter일 경우 출근 상태, leave일 경우 퇴근 상태이다. 모든 입력이 끝났을 때 출입 기록이 enter인 사람의 이름을 사전 순의 역순으로 출력하면 되는 문제이다. 코드 #include #include #include #include #include #include #include using namespace std; map member; map ..
https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 문제 김형택은 탑문고의 직원이다. 김형택은 계산대에서 계산을 하는 직원이다. 김형택은 그날 근무가 끝난 후에, 오늘 판매한 책의 제목을 보면서 가장 많이 팔린 책의 제목을 칠판에 써놓는 일도 같이 하고 있다. 오늘 하루 동안 팔린 책의 제목이 입력으로 들어왔을 때, 가장 많이 팔린 책의 제목을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. ..
https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 0. 잡설 시뮬레이션 문제에 자신이 없어서 헤매다가, 좀 풀어보니 감이 좀 잡혔습니다. 시뮬레이션에서는 문제의 모듈화가 중요한 것 같습니다. 디버깅도 쉬워지고, 요새 코테에서 많이 사용하는 프로그래머스에서도 solve()모듈을 주니까 모듈화에 이점이 많은 것 같습니다. 또, 모듈화를 하면 중간중간 프린트를 찍어볼 때 어떤 모듈에서 생각대로 움직여주지 않는지 확인할수도 있겠죠!! 1. 접근 ..
1371번: 가장 많은 글자 (acmicpc.net) 1371번: 가장 많은 글자 첫째 줄부터 글의 문장이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이 www.acmicpc.net 문제 영어에서는 어떤 글자가 다른 글자보다 많이 쓰인다. 예를 들어, 긴 글에서 약 12.31% 글자는 e이다. 어떤 글이 주어졌을 때, 가장 많이 나온 글자를 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 글의 문장이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이상 있다. ..
https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 문제 KOI 부설 과학연구소에서는 많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있다. 각 용액에는 그 용액의 특성을 나타내는 하나의 정수가 주어져있다. 산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 같은 양의 두 용액을 혼합한 용액의 ..
3985번: 롤 케이크 첫째 줄에 롤 케이크의 길이 L (1 ≤ L ≤ 1000)이 주어진다. 둘째 줄에는 방청객의 수 N (1 ≤ N ≤ 1000)이 주어진다. 다음 N개 줄에는 각 방청객 i가 종이에 적어낸 수 Pi와 Ki가 주어진다. (1 ≤ Pi ≤ Ki www.acmicpc.net 첫 번째 시도 L = int(input()) # 롤 케이크의 길이 N = int(input()) # 방청객의 수 li = list() # 기대하는 조각의 길이 리스트 d = dict() # 실제 차지한 조각 딕셔너리 for guest in range(1, N+1): p, k = map(int, input().split()) # 종이에 적어낸 조각의 범위 li.append(k - p) for i in range(p, k..
https://www.acmicpc.net/problem/16205 16205번: 변수명 첫째 줄에 사용한 표기법의 번호와 변수명이 주어진다. 번호가 1인 경우는 카멜 표기법, 2인 경우는 스네이크 표기법, 3인 경우는 파스칼 표기법이다. 입력으로 주어지는 변수명의 길이는 100을 www.acmicpc.net 문제 코드 문제 풀이 첫줄에 n과 v를 입력함. 1) n == 1 일 때, 첫번째 출력은 카멜 표기법이므로 v 그대로 출력, 두번째 출력인 스네이크 표기법은 문장 v 에서 대문자를 찾아내 소문자로 바꾸고, 그 앞에 "_" 를 추가함. 세번째 출력인 파스칼 표기법은 카멜 표기법에서 맨 앞 글자만 대문자로 바꿔서 출력. 2) n == 2 일 때, 첫번째 출력인 카멜 표기법은 v에서 "_" 의 위치를 찾..
1362번: 펫 당신은 게임으로 펫을 기르고 있습니다. 이 펫은 웃는 표정, 슬픈 표정을 가지고 있으며, 만약 죽는다면 '드러눕습니다.' 펫에게는 적정 체중이 있습니다. 펫의 실제 체중이 적정 체중의 1/2배를 www.acmicpc.net 문제코드
문제 https://www.acmicpc.net/problem/1644 Algorithm 모르면 너무 어렵고 알면 너무 쉬운 문제이기에 출제 시 변별력이 굉장히 강하면서도, 소수 판정 + 투 포인터 태그 중 굉장히 교육적인 문제라고 생각되어 소개한다. 연속된 소수의 합으로만 이루어져 있어야하므로, 에라토스테네체의 체를 활용해 N까지의 소수를 담은 배열을 만들어야 한다. 에라토스테네체는 연속된 소수 판별의 대표적인 알고리즘이다. void Eratos(int num) { // 에테체 for(int i = 2; i*i n; } void Eratos(int num) { // 에테체 for(int i = 2; i*i
1157번: 단어 공부 (acmicpc.net) 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 먼저 대문자를 출력해야하므로 s = input().upper()로 설정하였다. 그리고 딕셔너리를 사용하여 문자열에 알파벳이 각각 몇개있는지 설정하였다. 그 후 새로운 리스트 arr을 설정하여 딕셔너리의 밸류값이 최대인 x를 arr에 추가하였다. 문제에서 가장 많이 사용된 알파벳이 여러개인 경우에는 ?를 출력하라 했으므로, len(arr)이 1이 아닐때와 1일때를 나누어 코드를 설정하였다.
문제 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기를 크기가 N×N인 격자에서 연습하려고 한다. 격자의 각 칸에는 바구니가 하나 있고, 바구니는 칸 전체를 차지한다. 바구니에 저장할 수 있는 물의 양에는 제한이 없다. (r, c)는 격자의 r행 c열에 있는 바구니를 의미하고, A[r][c]는 (r, c)에 있는 바구니에 저장되어 있는 물의 양을 의미한다. 격자의 가장 왼쪽 윗 칸은 (1, 1)이고, 가장 오른쪽 아랫 칸은 (N, N)이다. 마법사 상어는 연습을 위해 1번 행과 N번 행을 연결했고, 1번 열과 N번 열도 연결했다. 즉, N번 행의 아래에는 1번 행이, ..
문제 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)을 n의 범위인 116 안에서 반복문을 돌려 리스트를 미리 만들어놓는다. f[0]부터 첫번째 숫자가 들어가므로 n-1항의 값을 출력한다.
KauKoala
Koala