728x90

2025/05 5

[백준] 10026 | 적록색약 [파이썬/python]

문제link: https://www.acmicpc.net/problem/10026그림이 주어질 때, 적록색약이 아닌 사람이 봤을 때와 적록색약인 사람이 봤을 때의 구역 수를 각각 출력한다.그림에서는 R(적색), G(녹색), B(청색)의 세 가지 색상이 사용되며 같은 색상이 상하좌우로 인접해 있는 경우 같은 구역으로 본다. 적록색약인 사람의 눈에는 적색과 녹색이 같은 색으로 보인다. 접근BFS를 통해 문제를 해결했다. 적록색약이 아닌 경우와 적록색약인 경우를 각각 계산했다.(두 개의 while문으로 나누어 각각 계산했다.)방문했는지 체크하는 리스트 visited를 하나만 만들어서 사용했는데, 가독성 측면에 따로 만드는 것이 깔끔할 것 같다. 코드import sysfrom collections import ..

코딩테스트 2025.05.19

[백준] 33557 | 곱셈을 누가 이렇게 해 ㅋㅋ [파이썬/python]

문제link: https://www.acmicpc.net/problem/33557두 수 A와 B가 주어졌을 때, A×B 세로식 곱셈에서 받아올림을 하지 않고 바로 결과에 적는 잘못된 방식의 결과가 실제 곱셈 결과와 같은지를 판단하는 문제이다.위 사진과 같이 자릿수가 같은 것끼리 곱한 후 결과를 바로 아래에 적는 식으로 숫자를 나열한다. 이것이 일반 곱셈 결과와 같으면 1, 다르면 0을 출력한다.자릿수가 짧은 수의 자리가 비어 있는 경우(ex: 위 사진에서 천만 자리 수) 수를 그대로 적는다. 접근두 수를 int가 아닌 str 형식으로 받아 한 자리씩 읽으며 곱하는 식으로 잘못된 곱셈 결과를 도출했다. 자릿수가 짧은 수는 자릿수가 긴 수와 길이가 같아지도록 앞을 1로 채워 준 후 사용한다.자릿수가 짧은 수..

코딩테스트 2025.05.12

[백준] 1268 | 임시 반장 정하기 [파이썬/python]

문제link: https://www.acmicpc.net/problem/1268학생의 수와 학생들이 1학년부터 5학년까지 몇 반이었는지가 제시된다. 한 번이라도 같은 반이 된 적 있는 학생 수가 가장 많은 학생을 임시 반장으로 선출하려 할 때, 임시 반장이 될 학생의 번호를 출력하는 문제이다.임시 반장이 될 수 있는 학생 수가 여러 명인 경우 가장 작은 번호를 출력한다. 접근한 번이라도 같은 반이 된 적 있는 학생 수를 세야 하므로, 한 사람과 1학년부터 5학년까지 쭉 같은 반이었든 1학년 때만 같은 반이었든 동일하게 취급한다.또, 임시 반장이 될 수 있는 학생 수가 여러 명인 경우 가장 작은 번호를 출력해야 한다. (모든 학생의 한 번이라도 같은 반이 된 적 있는 학생 수가 같을 때는 1번을 출력해야 ..

코딩테스트 2025.05.09

[백준] 1991 | 트리 순회 [파이썬/python]

문제link: https://www.acmicpc.net/problem/1991주어진 트리를 전위 순회, 중위 순회, 후위 순회하고 결과를 출력하는 문제이다. 접근트리의 각 노드를 방문하며 순회 방법에 맞는 순서로 노드를 리스트에 저장해주었다.전위 순회의 경우 루트-왼쪽 자식-오른쪽 자식 순으로 순회하므로, 루트 노드 값을 리스트에 저장 후 왼쪽 자식 노드와 오른쪽 자식 노드를 차례로 방문한다.중위 순회의 경우 왼쪽 자식-루트-오른쪽 자식 순으로 순회하므로, 왼쪽 자식 노드에 방문한 후 리스트에 루트 노드 값을 저장하고, 이후 오른쪽 자식 노드에 방문한다.후위 순회의 경우 왼쪽 자식-오른쪽 자식-루트 순으로 순회하므로, 왼쪽 자식 노드와 오른쪽 자식 노드에 모두 방문한 후 루트 노드 값을 리스트에 저장한..

코딩테스트 2025.05.03
728x90