목록BOJ (335)
기록방
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EwM7u/btrHSAeK7ao/ZAH5vEa3vchBIlIFMTwTB0/img.png)
👉 문제링크 20207번: 달력 수현이는 일년의 날짜가 1일부터 365일로 표시되어있는 달력을 가지고있다. 수현이는 너무나도 계획적인 사람이라 올 해 일정을 모두 계획해서 달력에 표시해놨다. 여름이 거의 끝나가자 장 www.acmicpc.net 🔸 문제 분석 🔸 규칙에 따라 달력에 일정이 표시된다. 이어진 일정들의 높이와 너비를 곱해 면적을 구하고, 면적들의 총 합을 출력하면 된다. 🔸 코드 🔸 import sys input = sys.stdin.readline print = sys.stdout.write N = int(input()) cal = [] # 입력된 일정 리스트 calmap = [0]*366 # 일정을 표시할 달력 for i in range(N): # 일정 입력 S, E = map(int, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bBMHTb/btrHTqW1sdL/drUudGHci3RJwqlBCuM8P1/img.png)
👉 문제링크 12933번: 오리 첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다. www.acmicpc.net 🔸 문제 분석 🔸 울음소리 "quack"를 확인해야하는데, 여러 사이클이 존재할 수 있다. 불가능한 조합이라면 -1을 출력해야 한다. 🔸 코드 🔸 import sys input = sys.stdin.readline print = sys.stdout.write string = input().rstrip() strs = [] # 오리 별 울음소리 저장 answer = 0 # 오리의 수 done = 0 # 끝난 울음 소리 수 duck = "quack" # 울음소리 한 사이클 fi..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/WRpyE/btrHPORwaNu/mlgoRW3RRQ6dG5mZ1wvdP0/img.png)
👉 문제링크 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 🔸 문제 분석 🔸 입력된 한 줄의 문장을 뒤집어 출력하는 문제이다. 기호로 감싸진 부분은 '태그'이며 뒤집지 않는다. 공백을 구분해 한 단어씩 뒤집는다. 🔸 코드 🔸 import sys str = sys.stdin.readline().rstrip() tag = False answer = "" temp = "" for c in str : if c == '': tag = False answer += c elif c == '..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cGzHJw/btrDVjHZk8O/Jfpj6oje5aydSkVJ1IxgDk/img.png)
👉 문제링크 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 🔸 문제 분석 🔸 땅 크기(N)와 인구 최소, 최대값(L,R)이 주어지고, 2차원 배열 형태의 인구수가 주어진다. 인구수의 차이가 L, R 값 사이라면, 국경선을 연다. 국경선이 열려서 통행이 가능한 나라들을 한 그룹으로 묶는다. 한 그룹의 평균 인구수를 그룹내 모든 칸에 채운다. (인구를 평준화한다) 이 평준화 작업은 BFS로 구현하면 될 것 같다. 국경선이 한 곳이라도 열렸다면, 인구 이동이 있으므로 하루가 지나야 한다. 🔸 코드 🔸..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bUrJMv/btrDTqHL7OR/VzEVHOld4kaLxyT5WmqMF0/img.png)
👉 문제링크 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net 🔸 문제 분석 🔸 문제가 좀 길었지만 어려운 조건은 아니다. 4가지 톱니가 있는데, 그 중 하나를 돌렸을때 다른 톱니 상태가 어떻게 변하는지 구하면 된다. 각 톱니 상태는 vector 를 쓰면 될 것 같고, 옆 톱니에게 영향을 주는 것은 마치 BFS의 원리와 비슷한 것 같아서 queue를 사용했더니 쉽게 풀렸다. 🔸 코드 🔸 #include #include #include #include using namespace std; void turn(v..