[백준 17298번] 파이썬 - 오큰수
백준 17298 - 오큰수 시간 제한 1초, 메모리 제한 512MB # 조건 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다. 예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1이다. A = [9, 5, 4, 8]인 경우에는 NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에..
2023.09.15
[백준 18258번] 파이썬 - 큐 2
백준 18258 - 큐2 시간 제한 1초, 메모리 제한 512MB # 조건 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주..
2023.09.02
[백준 21939번] 파이썬 - 문제 추천 시스템 Version 1
백준 21939 - 문제 추천 시스템 Version 1 시간 제한 1초, 메모리 제한 512MB # 조건 Tony9402는 최근 깃헙에 코딩테스트 대비 문제를 직접 뽑아서 "문제 번호, 난이도"로 정리해놨다. 깃헙을 이용하여 공부하시는 분들을 위해 새로운 기능을 추가해보려고 한다. 만들려고 하는 명령어는 총 3가지가 있다. 아래 표는 각 명령어에 대한 설명이다. recommend x x가 1인 경우 추천 문제 리스트에서 가장 어려운 문제의 번호를 출력한다. 만약 가장 어려운 문제가 여러 개라면 문제 번호가 큰 것으로 출력한다. x가 -1인 경우 추천 문제 리스트에서 가장 쉬운 문제의 번호를 출력한다. 만약 가장 쉬운 문제가 여러 개라면 문제 번호가 작은 것으로 출력한다. add P L 추천 문제 리스트에..
2023.09.02
[백준 5446번] 파이썬 - 용량 부족
백준 5446 - 용량 부족 시간 제한 1초, 메모리 제한 128MB # 조건 팀포2 덕후 연수는 팀포2를 다운받던 도중 하드 용량이 부족하다는 것을 알았다. 이때는 침착하게 팀포2를 하지 말거나 하드를 새로 사면 되지만 불가능했고, 결국 하드에서 쓸모없는 파일을 지워야만 한다. 연수는 또한 턱스 덕후여서 리눅스를 사용중이다. 리눅스에서 현재 디렉토리의 특정 파일을 지우려면 "rm 파일명"의 형식을 갖춰 명령하면 된다. 그러나 파일 개수가 너무 많을 경우 일일이 다 칠 수 없기에, 와일드카드 ' * '를 사용할 수도 있다. "rm 문자열*" 형식으로 명령하면 현재 디렉토리에서 파일 이름이 "문자열"이거나 "문자열"로 시작하는 모든 파일이 한번에 삭제된다! 그러나 지워서는 안 되는 파일들 또..
2023.08.27
[백준 19583번] 파이썬 - 싸이버 개강총회
백준 19583 - 싸이버 개강총회 시간 제한 1초(추가 시간 없음), 메모리 제한 1024MB # 조건 보영이는 알고리즘 동아리 HI-ARC를 운영하고 있다. 보영이와 운영진 일동은 20년도에 입학하는 신입생들을 맞이하기 위해 열심히 준비를 해왔으나, 전염병의 유행이 악화된 나머지 정부에서는 “사회적 거리두기”를 선언했고 그에 따라 학교에서는 교내 모든 동아리에 오프라인 모임을 자제하라는 공지를 하기에 이르렀다. 오프라인에서 모임을 자제하라는 권고가 나온 어려운 상황에도 불구하고, 보영이는 기지를 발휘하여 개강총회를 미튜브 스트리밍으로 대체하는 결정을 하게 된다. 하지만, 미튜브 스트리밍으로 개강총회를 하게 될 경우, 아래와 같은 문제가 있었다. 누가 개강총회에 왔는지 알 수 없다. 누가 개강총회 자리..
2023.08.26
[백준 1717번 ] 파이썬 - 집합의 표현
백준 1717 - 집합의 표현 시간 제한 2초, 메모리 제한 128MB # 조건 초기에 $n+1$개의 집합 ${0}, {1}, {2}, \dots , {n}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작성하시오. 입력 첫째 줄에 $n$, $m$이 주어진다. $m$은 입력으로 주어지는 연산의 개수이다. 다음 $m$개의 줄에는 각각의 연산이 주어진다. 합집합은 $0$ $a$ $b$의 형태로 입력이 주어진다. 이는 $a$가 포함되어 있는 집합과, $b$가 포함되어 있는 집합을 합친다는 의미이다. 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산은 $1$ $a$ $b$의 형태로 입력이 주어진다. 이는 $a$와 $b..
2023.08.26
[백준 17413번] 파이썬 - 단어 뒤집기 2
백준 17413 - 단어 뒤집기 2 시간 제한 1초, 메모리 제한 512MB # 조건 문자열 S가 주어졌을 떄, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와 같은 규칙을 지킨다. 알파벳 소문자(&#39;a&#39;-&#39;z&#39;), 숫자(&#39;0&#39;-&#39;9&#39;), 공백(&#39; &#39;), 특수 문자(&#39;&#39;)로만 이루어져 있다. 문자열의 시작과 끝은 공백이 아니다. &#39;&#39;가 문자열에 있는 경우 번갈아가면서 등장하며, &#39;&#39; idx += 1 result.append(temp) else: while idx < leng and target[idx] != &#39; &#39; and target[idx] != &#39;
2023.08.26
[백준 19585번] 파이썬 - 전설
백준 19585 - 전설 시간 제한 3초, 메모리 제한 1024MB # 조건 Sogang ICPC Team에는 색상 이름과 닉네임의 순서로 이여서 팀명을 지으면 ICPC 리저널에서 수상할 수 있다는 전설이 있다. 색상 이름들과 닉네임들이 주어질 때, Q개의 팀에 대해 다음 리저널에서 수상할 수 있을지 전설에 기반해 알려주는 프로그램을 작성하자. 입력 첫째 줄에는 색상의 종류 C와 닉네임의 개수 N이 주어진다. (1 ≤ C, N ≤ 4,000) 다음 C개의 줄에는 색상 이름 C개가 한 줄에 하나씩 주어진다. 색상 이름은 중복되지 않는다. 다음 N개의 줄에는 Sogang ICPC Team 구성원들의 닉네임 N개가 한 줄에 하나씩 주어진다. 닉네임도 중복되지 않는다. 다음 줄에는 팀의 개수 Q가 주어진다. (..
2023.08.16
[백준 28099번] 파이썬 - 이상한 배열
백준 28099 - 이상한 배열 시간 제한 1초, 메모리 제한 1024MB # 조건 길이가 N인 배열 A가 주어진다. 배열 A가 아래 조건을 만족한다면 이 배열 A를 이상한 배열이라 한다. Ai = Aj를 만족하는 정수 1
2023.08.15