https://www.acmicpc.net/problem/6996 6996번: 애너그램 첫째 줄에 테스트 케이스의 개수(
Koala - 9기/기초 알고리즘 스터디
문제 링크 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 ..
1371번: 가장 많은 글자 (acmicpc.net) 1371번: 가장 많은 글자 첫째 줄부터 글의 문장이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이 www.acmicpc.net 문제 영어에서는 어떤 글자가 다른 글자보다 많이 쓰인다. 예를 들어, 긴 글에서 약 12.31% 글자는 e이다. 어떤 글이 주어졌을 때, 가장 많이 나온 글자를 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 글의 문장이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이상 있다. ..
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 문제코드
1157번: 단어 공부 (acmicpc.net) 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 먼저 대문자를 출력해야하므로 s = input().upper()로 설정하였다. 그리고 딕셔너리를 사용하여 문자열에 알파벳이 각각 몇개있는지 설정하였다. 그 후 새로운 리스트 arr을 설정하여 딕셔너리의 밸류값이 최대인 x를 arr에 추가하였다. 문제에서 가장 많이 사용된 알파벳이 여러개인 경우에는 ?를 출력하라 했으므로, len(arr)이 1이 아닐때와 1일때를 나누어 코드를 설정하였다.
https://www.acmicpc.net/problem/12780 12780번: 원피스 바야흐로 지금은 대해적 시대, 밀짚모자 해적단의 선장 교정이는 어린 시절 우연히 잊지 못할 한 마디를 들었다. 그것은 바로 해적 왕 골.D.상윤이 자신이 모은 모든 보물인 원피스를 위대한 항 www.acmicpc.net 이 문제는 문자열 탐색에 관한 문제이다. 위와 같은 방법으로 input을 받게 되면 마지막에 '\n'이 포함되므로, list에는 입력한 문자수보다 한 개 더 많이 들어가게 된다. 따라서 우리가 원하는 만큼 슬라이싱을 하기 위해서는 len(변수) - 1까지여야 한다. for문을 이용하여 돌아가며 일치하는 단어를 찾으며, 찾는다면 cnt 변수를 하나씩 증가시킨 후 출력한다.
9012번: 괄호 (acmicpc.net) 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 본 문제는 '스택(stack)' 자료 구조를 이용한 문자열 문제이다. 입력 받은 문자열에 대해 열린 괄호 '('에 대해서 스택에 push() 을 수행하고 닫힌 괄호 ')'에 대해서는 pop() 을 수행한다. -------------- 출력시, 'boolean' bool형 변수를 활용하여 True 시 'YES', False 시 'NO'를 출력한다. 열린 괄호(왼쪽 괄호) 갯수에 대한 카운트를..
https://www.acmicpc.net/problem/2511 2511번: 카드놀이 첫 번째 줄에는 게임이 끝난 후, A와 B가 받은 총 승점을 순서대로 빈칸을 사이에 두고 출력한다. 두 번째 줄에는 이긴 사람이 A인지 B인지 결정해서, 이긴 사람을 문자 A 또는 B로 출력한다. 만약 www.acmicpc.net [문제] [입력/출력] package week2; import java.util.Scanner; public class No_2511 { public static void main(String[] args) { int aCard[] = new int[10]; int bCard[] = new int[10]; int aSum=0, bSum = 0; Scanner scanner = new Scan..
10773번: 제로 (acmicpc.net) 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 코드 let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split('\n'); const caseCount = Number(input[0]); const stack = []; for (let i = 1; i
https://www.acmicpc.net/problem/14724 14724번: 관리자는 누구? PROBRAIN, GROW, ARGOS, ADMIN, ANT, MOTION, SPG, COMON, ALMIGHTY중 동문 커뮤니티 관리자로 선발되는 후보가 소속한 동아리의 이름을 대문자로 출력한다. www.acmicpc.net 풀이 score이라는 list에 순서에 맞게 모든 데이터를 append한다. 이후 for문을 이용하여 각 동아리에서 max인수를 하나의 특정값과 비교하여 가장 max인 수를 찾는다. idx라는 변수를 이용하여 max인수의 index를 저장한다. 이후 if문으로 idx값을 이용하여 동아리의 이름을 출력하도록 한다. 코드 score = [] n = int(input()) for i in ..