카테고리 없음

[백준] 20055(파이썬) - 컨베이어 벨트 위의 로봇

https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 이 문제를 읽고 처음 든 생각은 그냥 일단 하라는 대로 해보자 였습니다ㅎㅎ 일단 큐 형식을 한 칸씩 돌리면서 구현하는 경우에 deque 라이브러리에 있는 rotate함수를 이번 문제를 풀면서 알게 되었습니다.(아주 유용한 함수 더라고요) 알고리즘을 풀면서 느낀 건 파이썬에서 리스트는 그다지 좋지 않은 비효율적인 자료형이라는 것입니다. 위 사항들을 고려하면서 설명을 적어보겠습니..

2021.11.26 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준] 5567(파이썬) - 결혼식

https://www.acmicpc.net/problem/5567 5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net 이 문제를 처음 읽고 든 생각은 '어쨌든 그래프니까 bfs를 이용해야겠다'였습니다. bfs로 풀다 보니 생각보다 로직이 간단했습니다. bfs로직을 풀 때, 부모 노드에서 자식 노드로 갈 때 visited [부모 노드]에서 +1을 해서 visited [자식 노드] 값으로 넣어줬습니다. 그러면 visited에 담기는 값이 1번부터 시작해서 몇 번을 거친 친구인지가 나오게 되는데, 조건에..

2021.11.24 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준] 16234(파이썬) - 인구 이동

https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 이 문제를 읽고 든 생각은 BFS를 이용해야 겠구나 였습니다. 국경선을 공유하는 두 나라의 인구 차이가 L명 이상, R명 이하라면, 두 나라가 공유하는 국경선을 오늘 하루 동안 연다. 위의 조건에 의해 열어야 하는 국경선이 모두 열렸다면, 인구 이동을 시작한다. 국경선이 열려있어 인접한 칸만을 이용해 이동할 수 있으면, 그 나라를 오늘 하루 동안은 연합이라고 한다. 연합을 이루고 있..

2021.11.24 게시됨

자료구조 & 알고리즘/백준(Baekjoon)

[백준] 21608(파이썬) - 상어 초등학교

https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 이 문제는 처음 읽고 든 생각은 일단 딕셔너리를 사용하긴 하는데.. 조건을 어떻게 구현하지? 였습니다. 그래서 그냥 조건을 한 줄 한 줄 읽어보면서 차례대로 구현했습니다. 먼저 주어진 학생의 번호와 그 학생이 좋아하는 학생의 번호를 딕셔너리로 만들어서 저장해놓았습니다. 주어진 조건 세개를 한 번 다시 보겠습니다. 비어있는 칸 중에서 좋아하는 학생이 인접한 칸에 가장 많은 칸으로 자리를 ..

2021.11.22 게시됨