본문 바로가기

전체 글121

[BOJ] 13023. ABCDE(Python) / DFS www.acmicpc.net/problem/13023 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net 깔끔한 DFS 문제였다. input 받으면서 정점별로 갈 수 있는 정점의 정보를 딕셔너리에 담는다. 전역변수 flag를 두어 depth가 4이상 되면 1로 바꿔주며 return하여 더이상 진행하지 않는다. 모든 정점에서 start할 수 있다. visited로 아직 방문하지 않는 곳에 방문체크하며 다음 재귀로 넘어간다. 재귀 풀려 나올 땐 방문체크한 것을 0으로 돌려 놓는다. flag가 1이면 1, 0이면 0을 출력한다. 파이썬 코드는 다음과 같다. import sys input = sys.stdin.readline .. 2021. 3. 23.
[SWEA] 2382. 미생물 격리(Python) / Simulation swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV597vbqAH0DFAVl SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 47분 소요 사실 이 문제도 5번? 정도 푼 문제라서 풀 때마다 Pass까지의 시간이 단축되는 것 같다 ㅋㅋㅋ 특별히 사용한 알고리즘은 없고, 이차원 배열과 딕셔너리 자료구조를 이용했다. 겉으로는 Simulation이지만, 일일이 맵을 만들 필요는 없어 보였고, 이차원 배열을 만들어 M시간만큼 이차원 배열에 들어있는 미생물의 정보(위치, 미생물갯수, 방향)를 변화시키는 방식으로 접근했다. 그냥 생각나는대로 직.. 2021. 3. 23.
[Daily] 방문자 수 200명 돌파! 기록하는 습관을 기르고자 기술 블로그를 시작한 지, 3주 정도의 시간이 흘렀다. 매우 들쭉날쭉한 기록이지만, 200명을 돌파했다. 방문해준 사람들에게 도움이 되는 글이었기를 바란다. 파워 블로거까지는 아니더라도, 매일 기록하고 기억해서 똑똑하고 알찬 첼씨가 되도록 해보자! 앞으로도 열심히 포스팅 해보겠다. 내일은 네트워크 공부해야지~! 2021. 3. 23.
[BOJ] 6087. 레이저 통신(Python) / BFS www.acmicpc.net/problem/6087 6087번: 레이저 통신 크기가 1×1인 정사각형으로 나누어진 W×H 크기의 지도가 있다. 지도의 각 칸은 빈 칸이거나 벽이며, 두 칸은 'C'로 표시되어 있는 칸이다. 'C'로 표시되어 있는 두 칸을 레이저로 통신하기 위해서 www.acmicpc.net 연속으로 BFS 최단거리 문제를 풀었다. 문제를 처음 접했을 때 이전의 로봇 문제처럼 맵을 방향별로 만들어줘야겠다는 생각을 했는데, 조금 더 생각해보니 그렇게까지 할 필요는 없을 것 같고, 머릿 속으로 BFS 이차원 맵을 어떻게 채울지 생각했다. 초기 check 맵을 최댓값 float('inf')으로 채워 놓는다. 시작 위치에서 4방향으로 쭉쭉 직진으로 벽이나 격자 밖으로 나갈 때까지 그려주고, 그 다.. 2021. 3. 22.
[BOJ] 1726. 로봇(Python) / BFS www.acmicpc.net/problem/1726 1726번: 로봇 많은 공장에서 로봇이 이용되고 있다. 우리 월드 공장의 로봇은 바라보는 방향으로 궤도를 따라 움직이며, 움직이는 방향은 동, 서, 남, 북 가운데 하나이다. 로봇의 이동을 제어하는 명령어는 www.acmicpc.net BFS 최단거리 문제다. 처음에 문제 봤을 때 어떻게 풀어야할지 좀 막막했는데 여러 솔루션들을 보고 아이디어를 얻었고, 특히, 뚱이가 코드를 보내줘서 완벽히 이해할 수 있었다. 내 스타일대로 다시 풀어봤다. 이 문제에서 포인트는 visited를 맵의 크기대로 그리되, 각 위치별로 4방향(동서남북) 정보를 담을 수 있도록 * 4 해주는 것! 큐에 위치와 방향, 그리고 cnt값을 담았다. 해당 정보를 visited에 표시하며.. 2021. 3. 22.
[Daily] 나선형 계단 코딩은 재능의 영역이라고 하더라. 난 내가 하고 있는 이 분야에서 타고나지 않았다는 것을 잘 안다. 남들이 말하는 계단식 / 선형으로 실력이 쭉쭉 올라가진 않지만, 그럴 때마다 스스로 괜찮아, 나는 나선형으로 된 계단을 올라가는 거야, 마치 같은 자리를 빙글빙글 제자리 걸음으로 걷는 것 같을지는 몰라도, 알고 보면 한 계단 한 계단 오를 때마다 조금씩 위로, 앞으로 나아가고 있는 것이라고. 내가 어디쯤 왔는지 얼마나 더 높은 계단이 남아 있는지는 알 수가 없다. 하지만 분명한 건 내가 조금씩 앞으로 나아가고 있다는 것이고, 그래서 아주 작은 차이일지라도 오늘보다 더 나은 내일을 만나게 될 것이라고 믿는다. 놀라운 건 내가 코딩을 진심으로 좋아하게 됐다는 것이다. 하루라도 코딩을 하지 않으면 불안하고, 코.. 2021. 3. 22.