20540번: 연길이의 이상형 (acmicpc.net) 20540번: 연길이의 이상형 졸업을 앞둔 연길이는 크리스마스가 다가올수록 외로움을 느낀다. 그런 연길이를 위해 동우는 소개팅을 시켜주지는 않고 연길이의 이상향을 찾는 것을 도와주고자 한다. MBTI 신봉자인 연길이는 www.acmicpc.net 문제 졸업을 앞둔 연길이는 크리스마스가 다가올수록 외로움을 느낀다. 그런 연길이를 위해 동우는 소개팅을 시켜주지는 않고 연길이의 이상향을 찾는 것을 도와주고자 한다. MBTI 신봉자인 연길이는 자신과 정반대인 사람에게 매력을 느낀다. 즉, MBTI의 네가지 지표가 모두 자신과 반대인 사람이 연길이의 이상형이다. MBTI는 다음과 같은 네 가지 척도로 성격을 표시한다. 각각의 척도는 두 가지 극이 되는 성격으..
Koala - 9기
https://www.acmicpc.net/problem/15917 15917번: 노솔브 방지문제야!! 어떤 수 a가 2의 거듭제곱꼴로 나타내어진다고 해 봅시다. 그렇다면, a = 2n (단 n ≥ 0인 정수) 를 만족할 겁니다. 보통, 각 비트별로 검사를 하면서, 켜져 있는 비트의 개수를 알아내는 것도 좋은 www.acmicpc.net 문제 풀이 첫번째 for 문을 통해 2^n (0
https://www.acmicpc.net/problem/9207 9207번: 페그 솔리테어 각 테스트 케이스에 대해서, 핀을 움직여서 남길 수 있는 핀의 최소 개수와 그 개수를 만들기 위해 필요한 최소 이동 횟수를 출력한다. www.acmicpc.net 문제 분석 분류 구현, 브루트포스 알고리즘, 백트래킹 문제 페그 솔리테어는 구멍이 뚫려있는 이차원 게임판에서 하는 게임이다. 각 구멍에는 핀을 하나 꽂을 수 있다. 핀은 수평, 수직 방향으로 인접한 핀을 뛰어넘어서 그 핀의 다음 칸으로 이동하는 것만 허용된다. 인접한 핀의 다음 칸은 비어있어야 하고 그 인접한 핀은 제거된다. 현재 게임판에 꽂혀있는 핀의 상태가 주어진다. 이때, 핀을 적절히 움직여서 게임판에 남아있는 핀의 개수를 최소로 하려고 한다. 또..
어떻게 풀어야 할까 항상 문제는 Brute Force를 먼저 생각한다. 문제를 보자마자 어떤 알고리즘을 사용해서 어떻게 풀어야 할지 아는 것이 가능할까. 적어도 나는 안된다... 그렇기 때문에 일단 문제의 정답을 구할 수 있는 알고리즘을 구하고, 문제에서 요구하는 시간 복잡도 안에 해결하기 위해 최적화를 진행한다. 해당 문제는 물에 잠기지 않은 영역의 갯수 중 최대값을 구하는 문제이다. 물의 높이는 선형적으로 점차 증가하고, 각각의 경우의 수를 기록하여 그 중 최대값을 출력하면 된다. 물에 잠기지 않는 안전 영역은 DFS를 통해서 구할 수 있다. DFS를 통해 연결 요소를 각각의 영역에서 반복한다, 즉 안전 영역의 갯수를 물에 아직 잠기지 않고, 방문한적 없는 모든 영역에서 DFS를 통해 DFS가 실행되..
https://www.acmicpc.net/problem/2935 2935번: 소음 수업 시간에 떠드는 두 학생이 있다. 두 학생은 수업에 집중하는 대신에 글로벌 경제 위기에 대해서 토론하고 있었다. 토론이 점점 과열되면서 두 학생은 목소리를 높였고, 결국 선생님은 크게 www.acmicpc.net 문제 분석 분류 수학 문자열 사칙연산 문제 설명 수업 시간에 떠드는 두 학생이 있다. 두 학생은 수업에 집중하는 대신에 글로벌 경제 위기에 대해서 토론하고 있었다. 토론이 점점 과열되면서 두 학생은 목소리를 높였고, 결국 선생님은 크게 분노하였다. 이렇게 학생들이 수업 시간에 떠드는 문제는 어떻게 해결해야 할까? 얼마전에 초등학교 선생님으로 취직한 상근이는 이 문제를 수학 문제로 해결한다. 학생들을 진정시키기..
문제 https://www.acmicpc.net/problem/17142 Algorithm 활성화 바이러스가 위치할 수 있는 지점들에 대해 완전탐색을 진행하다가, 활성화 바이러스를 m개의 지점에 위치시키면 BFS를 진행하여 바이러스가 모두 퍼지는 시간을 측정한다. 1. 재귀적 permutation() 함수를 통해, 활성화 바이러스가 초기에 위치할 m개의 지점을 정한다. 2. m개의 지점을 정했다면, BFS를 빈 공간의 갯수가 0이 될때까지 혹은 더이상 바이러스를 퍼뜨릴 수 없을 때까지 진행하여 소요 시간을 return한다. 3. 가능한 모든 지점 순열에 대해 BFS를 진행한다. 4. 모든 빈 칸에 퍼뜨릴 수 없는 경우 -1, 아니라면 BFS의 return값 중 최솟값이 최종 출력값이 된다. Code #i..
https://www.acmicpc.net/problem/4458 4458번: 첫 글자를 대문자로 첫째 줄에 줄의 수 N이 주어진다. 다음 N개의 줄에는 문장이 주어진다. 각 문장에 들어있는 글자의 수는 30을 넘지 않는다. 모든 줄의 첫 번째 글자는 알파벳이다. www.acmicpc.net 🔎 두 가지 방법 이 문제를 구상할 때 문자열은 불변 데이터이므로, 새로 정의해줘야 하는 번거로움을 피하기 위해 list로 작성했습니다. 하지만 (이 문제에 한해서) 둘의 속도 차이는 별로 크지 않았고, 두 방법을 적재적소에 사용하기 위해 다 익혀놓는 것이 좋을 거라 생각해서 두 가지 모두 구현해보았습니다. 💻 list를 활용한 구현 n = int(input()) for _ in range(n): s = list(i..
규칙 - 문제 인증, 블로그 포스팅, 모의테스트 참여를 하지 않을시 각각 활동비에서 -1000원씩 차감 - 학회 활동이 끝난 후, 스터디 우수 참여자에게 차감된 활동비를 N분의 1로 나눠서 지급 - 스터디 우수 참여자 기준은 남은 활동비의 내림차순으로 정렬하여 가장 높은 참여자들로 선정 김종현 - rlawhdgus 박민희 - qag331 왕준호 - jun0w7 우찬희 - dener8 이상재 - tkdwo7699 신재우 - akaps6768 1주차 2주차 3주차 4주차 5주차 6주차 7주차 8주차 김종현 ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ 박민희 ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ 왕준호 ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ 우찬희 ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ 이상재 ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ 신재우 ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ ㅇ
https://www.acmicpc.net/problem/14391 14391번: 종이 조각 영선이는 숫자가 쓰여 있는 직사각형 종이를 가지고 있다. 종이는 1×1 크기의 정사각형 칸으로 나누어져 있고, 숫자는 각 칸에 하나씩 쓰여 있다. 행은 위에서부터 아래까지 번호가 매겨져 있고, www.acmicpc.net 접근 방법 비트 마스킹과 완전 탐색 방법으로 문제를 풀었습니다. 생소했던 비트 마스킹을 2차원 배열에 적용시키는 것이 어려웠습니다. 비트 마스킹을 사용한 이유 이런 입력이 주어지고, 종이를 초록색 상자와 같이 잘랐다고 가정합시다. 그러면 이러한 상황에서 답은 12 + 4 + 5 + 36 = 57입니다. 이렇게 종이 조각이 가로와 세로로 연결되는 모든 조합을 찾기 위해선 비트 마스킹을 활용할 수 ..
문제 스타트링크에서 판매하는 어린이용 장난감 중에서 가장 인기가 많은 제품은 구슬 탈출이다. 구슬 탈출은 직사각형 보드에 빨간 구슬과 파란 구슬을 하나씩 넣은 다음, 빨간 구슬을 구멍을 통해 빼내는 게임이다. 보드의 세로 크기는 N, 가로 크기는 M이고, 편의상 1×1크기의 칸으로 나누어져 있다. 가장 바깥 행과 열은 모두 막혀져 있고, 보드에는 구멍이 하나 있다. 빨간 구슬과 파란 구슬의 크기는 보드에서 1×1크기의 칸을 가득 채우는 사이즈이고, 각각 하나씩 들어가 있다. 게임의 목표는 빨간 구슬을 구멍을 통해서 빼내는 것이다. 이때, 파란 구슬이 구멍에 들어가면 안 된다. 이때, 구슬을 손으로 건드릴 수는 없고, 중력을 이용해서 이리 저리 굴려야 한다. 왼쪽으로 기울이기, 오른쪽으로 기울이기, 위쪽으..
규칙 - 문제 인증, 블로그 포스팅, 모의테스트 참여를 하지 않을시 각각 활동비에서 -1000원씩 차감 - 학회 활동이 끝난 후, 스터디 우수 참여자에게 차감된 활동비를 N분의 1로 나눠서 지급 - 스터디 우수 참여자 기준은 남은 활동비의 내림차순으로 정렬하여 가장 높은 참여자들로 선정 김경래 - future0610 김나현 - knh1012 김남수 - otherwedn 김예린 - jane4545 노현우 - nhw3990 박민서 - qkralstj0808 박창현 - begojara99 양지원 - moonlight0815 오상준 - highjune 윤승현 - bow5050 윤여빈 - yeobin03 이동혁 - rirws96 이영진- leesu0229 이창엽 - jadenlee99 이희정 - jjeongee1..
규칙 - 문제 인증, 블로그 포스팅, 모의테스트 참여를 하지 않을시 각각 활동비에서 -1000원씩 차감 - 학회 활동이 끝난 후, 스터디 우수 참여자에게 차감된 활동비를 N분의 1로 나눠서 지급 - 스터디 우수 참여자 기준은 남은 활동비의 내림차순으로 정렬하여 가장 높은 참여자들로 선정 강래현 - kdlatmdgus 권준형 - kwonpodo 김두현 - engus525 김보인 - charles1236 김재욱 - kjyook 김재혁 - jankim7878 김준기 - kjgi73k 김태우 - rereers1125 김택현 - tmsksfh2012 김현석 - khu753 신태원 - tlsxodnjs147 염진섭 - yeomjinseop 왕준호 - jun0w7 유완규 - beans3142 이강민 - awcrgym..