Home

[백준] 19238번 스타트 택시 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/19238 2. 풀이 삼성 SW 역량테스트 문제입니다. 최소 거리에 있는 고객을 찾고 목적지 까지의 비용을 찾기 위하여 BFS 를 이용하여 가능한 경우 중에서 답을 선택합니다. 조건 중에 정답을 찾고 탈출하지 않는 경우의 case 를 처리하지 못하여 계속해서 오답이 났었습니다. 모든 경우에서 탈출할 수 있게 꼼꼼히 살펴야 될 것 같습니다. 9967han님이 올려주신 반례글(https://www.acmicpc.net/board/view/52841)을 넣고 겨우 답을 찾을 수 있었습니다. 감사드립니다. 6 4 15 0 0 1 0 0 0 0 ...

Read more

[백준] 2108번 통계학 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/2108 2. 풀이 숫자의 빈도는 dictionary를 이용하여 세줍니다. 정렬은 python 내장함수 sort 를 이용해줍니다. python의 기본 내장함수 input을 사용하면 속도가 매우 느리기 때문에, 시간초과가 발생합니다. sys 모듈에 있는 sys.stdin.readline 함수를 사용해주면 손쉽게 문제를 해결해줄 수 있습니다. import sys arr = [] dict = {} for _ in range(int(sys.stdin.readline())): val = int(sys.stdin.readline()) ...

Read more

[Python] Recursion Error 재귀 함수 오류 최대 한도 제한 변경

1. 문제 알고리즘 문제를 해결하던 중에, python을 이용하여 dfs 문제를 푸는 경우가 있었습니다. 이 때, 재귀함수를 사용하고 나서 Recursion Error 런타임 에러가 발생했습니다. 이는 python의 기본 재귀함수 깊이가 1000으로 한도가 설정되어 있기 때문입니다. 알고리즘은 맞는데 이런 문제로 시간을 많이 사용하면 시간이 크게 날아가니, 재귀함수 문제가 통과가 안될 때에는 이런 문제를 생각해보시는 것도 좋을 것 같습니다. 2. 문제 해결 방법 위의 문제를 해결해 주기 위해서는, python sys 모듈에 있는 setrecursionlimit 메소드를 사용하면 해결됩니다. 아래와 같은 방식으...

Read more

[백준] 18870번 좌표 압축 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/18870 2. 풀이 python의 set, dictionary, list 를 이용하면 아래와 같이 손쉽게 문제를 해결할 수 있습니다. N=int(input()) A=list((map(int,input().strip().split()))) B={} for i, val in enumerate(sorted(list(set(A)))): B[val] = i for val in A: print(B[val], end=' ')

Read more

[백준] 17143번 낚시왕 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/17143 2. 풀이 삼성 SW 역량테스트 문제입니다. 전반적인 문제 이해는 쉽지만, 물고기의 이동을 구현하는 것이 다소 오래 걸렸습니다. 물고기의 이동을 어떻게 훨씬 더 간단하게 구현할까 생각했지만, 다른 풀이를 봐도 크게 쉽게 풀지는 못한 것 같습니다. 방향에 따라 일일히 구현해주어야 되는 문제인 것으로 보여집니다. import copy R, C, M = map(int, input().split()) fisher_c = 0 maps = [[[] for __ in range(C)] for _ in range(R)] # d가 1인 경우는 ...

Read more

[백준] 20056번 마법사 상어와 파이어볼 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/20056 2. 풀이 삼성 SW 역량테스트 문제입니다. 격자의 행과 열은 1번부터 N번까지 번호가 매겨져 있고, 1번 행은 N번과 연결되어 있고, 1번 열은 N번 열과 연결되어 있다라는 문장이 처음에는 좀 헷갈렸습니다. 좀 더 읽다보니 원형 큐와 같은 구조로 1과 N이 이어져있는 구조라는 것을 알게 되었습니다. 구현은 큰 문제 없이 잘 된 문제인 것 같습니다. 풀이 방법은 아래와 같습니다. 자세한 사항은 소스코드를 봐주세요. 불들을 저장하는 list 를 생성하여 [r, c, m, s, d] 값을 저장합니다. 불들을 이동 시킨 후에...

Read more