백준

· PS/BOJ
[Silver III] 프린터 큐 - 1966 문제 링크 성능 요약 메모리: 69108 KB, 시간: 8 ms 분류 자료 구조, 구현, 큐, 시뮬레이션 제출 일자 2023년 12월 31일 23:18:47 문제 설명 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다. 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를 확인한다. 나머지 문서들 중 현재 문서보다 ..
· PS/BOJ
[Silver II] 앵무새 - 14713 문제 링크 성능 요약 메모리: 72104 KB, 시간: 64 ms 분류 자료 구조, 구현, 큐, 문자열 제출 일자 2024년 1월 1일 11:10:47 문제 설명 자가용 비행기를 타고 세계 일주를 하던 pps789와 cseteram은 어느 날 엔진 고장으로 인해 이름 모를 섬에 불시착하게 된다. 그들은 이 섬을 탐험하는 도중 아주 신기한 사실을 알게 되었는데, 바로 이 섬에 사는 앵무새들은 놀라울 정도로 인간의 말을 흉내 내는 데 뛰어나다는 것이다. 그들은 서로 떨어져 섬을 탐험하기로 하였으며, 필요하다면 앵무새를 이용해 서로에게 연락하기로 약속하였다. 1개월 후, pps789는 섬의 비밀을 밝힐 결정적인 증거를 찾게 된다. 그는 이 세기의 대발견을 cseter..
· PS/BOJ
[Silver IV] 큐 - 10845 문제 링크 성능 요약 메모리: 69376 KB, 시간: 28 ms 분류 자료 구조, 큐 제출 일자 2023년 12월 31일 16:50:53 문제 설명 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐..
· Swift
알고리즘 문제를 풀 때 Character나 String을 Int로 변경해야 하는 경우가 있습니다. 기존의 방식과 새롭게 알게 된 wholeNumberValue에 대해 알아보겠습니다. 기존 기본적으로는 Character를 String으로 변환해준 뒤, 이를 Int로 변환해주는 방법을 사용하였습니다. (Character를 바로 Int로 변환해주면 에러가 발생하기 때문에, String으로 변환을 먼저 해주어야 합니다.) var num: Character = "7" if let number = Int(String(num)) { print(number) } // 7 Optional로 반환되기 때문에 옵셔널 바인딩이나 언래핑 등을 해주어야 합니다. wholeNumberValue 하지만 이에 대해 공부하던 도중, w..
· PS/BOJ
[Silver II] 창고 다각형 - 2304 문제 링크 성능 요약 메모리: 69108 KB, 시간: 12 ms 분류 브루트포스 알고리즘, 자료 구조, 스택 제출 일자 2023년 12월 27일 18:19:12 문제 설명 N 개의 막대 기둥이 일렬로 세워져 있다. 기둥들의 폭은 모두 1 m이며 높이는 다를 수 있다. 이 기둥들을 이용하여 양철로 된 창고를 제작하려고 한다. 창고에는 모든 기둥이 들어간다. 이 창고의 지붕을 다음과 같이 만든다. 지붕은 수평 부분과 수직 부분으로 구성되며, 모두 연결되어야 한다. 지붕의 수평 부분은 반드시 어떤 기둥의 윗면과 닿아야 한다. 지붕의 수직 부분은 반드시 어떤 기둥의 옆면과 닿아야 한다. 지붕의 가장자리는 땅에 닿아야 한다. 비가 올 때 물이 고이지 않도록 지붕의 ..
· PS/BOJ
[Silver II] 화학식량 - 2257 문제 링크 성능 요약 메모리: 69104 KB, 시간: 8 ms 분류 자료 구조, 스택, 문자열 제출 일자 2023년 12월 25일 23:17:40 문제 설명 우리가 널리 사용하는 H2O(물), CH3COOH(아세트산)과 같은 화학식은 알파벳과 숫자, 그리고 괄호로 구성된다. 먼저 알파벳은 원자를 나타내는 것으로 H는 수소(Hydrogen), C는 탄소(Carbon), O는 산소(Oxygen) 원자를 뜻한다. 또한 원자를 나타내는 알파벳 뒤에 따르는 숫자는 그 원자가 몇 개 포함되어 있는지를 뜻한다. 따라서 COOHHH 분자는 CO2H3로 나타낼 수 있다. 이 문제에서, 숫자는 항상 2 이상 9 이하로만 입력으로 주어진다. 따라서 CO23과 같이 숫자가 두자리인..
· PS/BOJ
[Silver III] 천재 수학자 성필 - 15815 문제 링크 성능 요약 메모리: 69104 KB, 시간: 8 ms 분류 자료 구조, 스택 제출 일자 2023년 12월 28일 09:12:55 문제 설명 평행 세계의 성필은 숫자와 연산자를 만든 당대 최고의 수학자이다. 그리고 놀랍게도 이 숫자와 연산자는 현재 우리가 사용하는 것과 같다. 하지만 수식은 연산자가 피연산자 가운데 위치하는 우리와는 다르게 연산자가 피연산자 뒤에 위치한다고 한다. 우리 세계의 식을 성필의 식으로 바꾸는 방법을 간단히 설명하자면 이렇다. 우선 주어진 식을 연산자의 우선순위에 따라 괄호로 묶어준다. 그런 다음에 괄호 안의 연산자를 괄호의 오른쪽으로 옮겨주면 된다. 예를 들어 a+b*c는 (a+(b*c))의 식과 같게 된다. 그다..
· PS/BOJ
[Silver I] 외계인의 기타 연주 - 2841 문제 링크 성능 요약 메모리: 73016 KB, 시간: 612 ms 분류 자료 구조, 스택 제출 일자 2023년 12월 28일 10:50:30 문제 설명 상근이의 상상의 친구 외계인은 손가락을 수십억개 가지고 있다. 어느 날 외계인은 기타가 치고 싶었고, 인터넷에서 간단한 멜로디를 검색했다. 이제 이 기타를 치려고 한다. 보통 기타는 1번 줄부터 6번 줄까지 총 6개의 줄이 있고, 각 줄은 P개의 프렛으로 나누어져 있다. 프렛의 번호도 1번부터 P번까지 나누어져 있다. 멜로디는 음의 연속이고, 각 음은 줄에서 해당하는 프렛을 누르고 줄을 튕기면 연주할 수 있다. 예를 들면, 4번 줄의 8번 프렛을 누르고 튕길 수 있다. 만약, 어떤 줄의 프렛을 여러 개..