본문 바로가기

728x90
반응형

백준 write-up

(91)
[백준] 슬라임 합치기 : 14241번 - Python https://www.acmicpc.net/problem/14241 14241번: 슬라임 합치기 영선이와 효빈이는 슬라임을 합치는 게임을 하고 있다. 두 사람은 두 슬라임을 골라서 하나로 합쳐야 한다. 게임은 슬라임이 하나 남았을 때 끝난다. 모든 슬라임은 양수 크기를 가지고 있다. 두 www.acmicpc.net 문제의 접근 방법 - 어떤 순서로 슬라임을 합쳐도 나오는 값이 똑같다. 내가 막혔던 부분 - 리스트의 0번째 요소와 1번째 요소를 더한 값을 그 다음 원소와 더하는 과정 => 코드로 표현하는 것에 어려움을 겪었다. : 그냥 첫 번째 요소와 두 번째 요소를 더했다면 그 값을 두 번째 요소에 넣어주면 되는 것이었다! ex) list[1] = list[0] + list[1] 문제 풀이 방법 슬라임의..
[백준] ZOAC 2 : 18238번 - Python https://www.acmicpc.net/problem/18238 18238번: ZOAC 2 2019년 12월, 두 번째로 개최된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 작년 ZOAC의 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로운 규칙을 고안해 www.acmicpc.net 문제를 풀면서 몰랐던 개념 [Python] ord 함수 : 하나의 문자를 인자로 받고 해당 문자에 해당하는 유니코드 정수를 반환하는 함수이다. ex) ord('a') 를 넣으면 정수 97을 반환. / ord('A')를 넣으면 65 반환. [Python] chr 함수 : 하나의 정수를 인자로 받고 해당 정수에 해당하는 유니코드 문자를 반환하는 함수이다. ex) chr(97)을 하면 ..
[백준] 라디오 : 3135번 - Python https://www.acmicpc.net/problem/3135 3135번: 라디오 첫 줄엔 정수 A와 B가 주어진다 (1 ≤ A, B < 1000, A ≠ B). 다음 줄엔 정수 N이 주어진다 (1 ≤ N ≤ 5). 다음 N개의 줄엔 미리 지정되어 있는 주파수가 주어진다 (주파수는 1000 보다 작다). www.acmicpc.net 문제를 풀면서 몰랐던 개념 - 특정 값이 주어졌을 때, 리스트에서 가장 가까운 값을 찾아내는 방법 : 두 수의 차(거리)를 구해서 가장 작은 것 부터 나열하면 된다! (절댓값을 사용할 것) 리스트와 딕셔너리 모두 사용가능!!! 문제의 접근 방법 이 문제는 두 가지 케이스로 나눌 수 있다. (1) 첫 번째 혹은 두 번째 버튼을 눌러서 +-1씩 주파수를 증가/감소 시키는 방법..
[백준] 삼각형 만들기 : 1448번 - Python https://www.acmicpc.net/problem/1448 1448번: 삼각형 만들기 첫째 줄에 빨대의 개수 N이 주어진다. N은 3보다 크거나 같고, 1,000,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 빨대의 길이가 한 줄에 하나씩 주어진다. 빨대의 길이는 1,000,000보다 www.acmicpc.net 문제를 풀면서 몰랐던 개념 - 삼각형이 성립하는 조건 : 어느 두 변의 합이 나머지 변의 합보다 항상 커야 한다! ex) 각 변의 길이를 x, y ,z라 하고 가장 긴 변의 길이가 z라고 했을 때, x + y > z 를 만족해야 함. 문제의 접근 방법 - 삼각형을 빨대가 긴 순서대로 정렬한 후, 가장 긴 3개부터 시작해서 삼각형이 성립하는지 확인하기 만약, 성립하지 않을 경..
[백준] 카드 문자열 : 13417번 - Python https://www.acmicpc.net/problem/13417 13417번: 카드 문자열 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫째 줄에 테스트 케이스의 개수를 나타내는 자연수 T가 주어진다. 각각의 테스트 케이스의 첫째 줄에 처 www.acmicpc.net 문제를 풀면서 몰랐던 개념 (1) [Python] insert() 함수 : append() 함수와 마찬가지로 요소를 추가할 수 있는 함수이지만 추가하는 방식이 다름. append() -> 요소를 배열의 끝에 추가함! / insert() -> 요소를 배열의 원하는 위치 i앞에 삽입할 수 있음! arr = [1, 2, 3, 4, 5] arr.insert(0, 10)# 0번째(맨 앞에) 추가 print..
[백준] APC는 왜 서브태스크 대회가 되었을까? : 17224번 - Python https://www.acmicpc.net/problem/17224 17224번: APC는 왜 서브태스크 대회가 되었을까? 2019년 올해도 어김없이 아주대학교 프로그래밍 경시대회(Ajou Programming Contest, APC)가 열렸다! 올해 새롭게 APC의 총감독을 맡게 된 준표는 대회 출제 과정 중 큰 고민에 빠졌다. APC에 참가하는 참가 www.acmicpc.net 문제의 접근 방법 - 현정이의 역량 L을 기준으로 문제의 난이도를 판단해주기 - 현정이가 풀 수 있는 수준에서 높은 점수를 얻을 수 있는 문제를 먼저 풀어야 함 - 쉬운 문제는 100점, 어려운 문제는 140점을 얻는다고 생각하기 내가 막혔던 부분 - 최대 점수를 얻기 위해서 여려운 버전의 난이도 순으로 오름차순 정렬해야 하는..
[백준] 오셀로 재배치 : 13413번 - Python https://www.acmicpc.net/problem/13413 13413번: 오셀로 재배치 로봇을 좋아하는 세희는 로봇동아리에서 카메라와 센서, 라즈베리 파이, 집게발을 이용해 로봇을 완성하였다. 이 로봇을 통해서 오셀로 재배치라는 작업을 하려고 한다. 오셀로 말은 앞면이 검 www.acmicpc.net 문제 설명 -오셀로 말의 초기 상태와 목표 상태가 주어짐. - 여기서 초기 상태와 목표 상태는 흰색 말과 검정색 말의 조합으로 이루어진 문자열임. (흰색 -> W, 검정색 -> B로 표현) - 주어진 조건 2가지를 활용해서 초기 상태 -> 목표 상태에 도달할 수 있는 최소 횟수를 구해야 함. * 최대한 바꾸는 횟수를 줄여서 초기 상태 = 목표 상태를 만들어야 하는 것이 관건! 내가 생각한 문제의 접..
[백준] 햄버거 분배 : 19941번 - Python https://www.acmicpc.net/problem/19941 19941번: 햄버거 분배 기다란 벤치 모양의 식탁에 사람들과 햄버거가 아래와 같이 단위 간격으로 놓여 있다. 사람들은 자신의 위치에서 거리가 $K$ 이하인 햄버거를 먹을 수 있다. 햄버거 사람 햄버거 사람 햄버거 사 www.acmicpc.net 문제를 풀면서 몰랐던 개념 반복문에서 변수의 범위를 지정할 때 괄호 안에만 범위를 지정할 수 있는 것이 아니라, 조건문을 사용해서 변수의 범위를 지정해준 후 구현할 수 있다. 문제의 접근 방법 - 최대한 많은 사람들이 햄버거를 먹으려면, 마지막 사람이 햄버거를 먹을 경우를 대비해서 최대한 자신에게 인접한 햄버거들 중 제일 왼쪽 햄버거를 먹어야 함. - 햄버거를 먹었다면 중복되지 않게 먹은 표시를..

728x90
반응형