1. 문제
https://www.acmicpc.net/problem/5533
5533번: 유니크
첫째 줄에 참가자의 수 N이 주어진다. (2 ≤ N ≤ 200) 둘째 줄부터 N개 줄에는 각 플레이어가 1번째, 2번째, 3번째 게임에서 쓴 수가 공백으로 구분되어 주어진다.
www.acmicpc.net
각 플레이어가 3번의 게임에서 얻은 점수의 합을 구하는 문제이다.
게임은 플레이어가 적은 숫자가 다른 플레이어와 겹치지 않는다면 점수를 얻어가는 간단한 게임이다.
2. 풀이
2차원 리스트(배열)을 우선 떠올려야 한다.
총 3번의 게임을 진행하므로, 3개의 리스트를 가진 2차원 리스트를 만들 것이다.
첫 번째 리스트에는 첫 번째 게임에서 플레이어들이 적은 점수, 두 번째 리스트에는 두 번째 게임에서 플레이어들이 적은 점수, 세 번째 리스트에는 세 번째 게임에서 플레이어들이 적은 점수가 저장될 것이다.
그다음 이중 반복문을 활용해서 겹치는 점수가 있는지 확인한다.
이 로직을 생각해 내는 것이 핵심이다.
.count() 메소드를 숫자가 2개 이상 카운트 된다면 해당 플레이어의 점수를 추가하지 않으면 된다.
아래 코드에서 i는 게임 횟수, j는 몇 번째 플레이어인지를 나타낸다.
3. 코드
4. 느낀점
파이썬에서 2차원 리스트를 간단하게 사용해 보았고 .count() 메소드를 사용해 보았다.
뭔가를 수학적으로 해결한다는 건 정말 어려운 일인 것 같다.
파이썬에 빨리 적응하도록 하자.
오늘 하루도 쌓였다.
'코딩 테스트 연습 > 백준' 카테고리의 다른 글
[Python]Baekjoon 7568번: 덩치 (0) | 2024.02.27 |
---|---|
[Python]Baekjoon 1817번: 짐 챙기는 숌 (0) | 2024.02.24 |
[C++]Baekjoon 1946번: 신입 사원 (1) | 2023.12.30 |
[C++]Baekjoon 1141번: 접두사 (1) | 2023.12.20 |
[C++]Baekjoon 1931번: 회의실 배정 (0) | 2023.12.19 |