2023. 12. 18. 01:55ㆍAlgorithm & PS/PS 일지
Softeer 문제 풀이 - 3문제
1. H-클린알파 - Lv.4
간단한 수학 문제, 그냥 각 시간마다 현재까지 존재하는 바이러스 증식, 이후에 바이러스 유입된 만큼 증가 시키면 됨.
어제 풀었던 Lv.4랑 많이 난이도가 차이났음. 이건 백준에서는 브론즈 정도의 문제 아닌가 싶을 정도로 쉬움.
다만 좀 주의해야할 점은 32-bit integer가 아니라 64-bit 자료형을 사용해야 오버플로우 문제가 안 날듯?
(나는 걍 어지간하면 long long으로 선언하고 사용해서 별 문제 없었음.)
2. [HSAT 6회 정기 코딩 인증평가 기출] 출퇴근길 - Lv.3
좀 생각을 해야 풀 수 있는 그래프 문제.
S -> E, E -> S 두 경로에 대해서 모두 속할 수 있는 노드들의 개수를 구하는 건데, 이를 만족하는 노드 K는 S- > K, K -> S, E -> K, K -> E 모두 가능하니 각 간선별로 역으로 이어준 간선도 생성, 원래 간선 기준으로 S, E에서 시작했을 때 도달할 수 있는 노드들 구하고, 역 간선 기준으로 또 S,E를 시작점으로 BFS를 돌렸을 때 도달할 수 있는 노드들(이러면 K->S, K->E가 되는지도 구할 수 있음.)을 구한다.
그런데, 원래 간선에서는 각각 E, S에 도착하면 더 이상 움직이지 못하니 그걸 따로 처리해준다. (역 간선에서 이를 막으면 S에서 시작했을 때에 S를 재방문 하는 것도 막게 되는 거라서 역 간선에서 BFS 돌렸을 때는 이렇게 처리해주면 안 됨.)
이게 처음에 푼 Lv.4보다 훨씬 어려운 것 같은데 왜 Lv.3인지 모르겠다. 정답률도 꽤나 낮던데...
3. 바이러스 - Lv.2
1번 문제보다는 조금 더 쉬운문제.
((P^N)*K)%1'000'000'007을 출력하면 되는 문제인데, N의 범위가 작아 O(N)으로도 풀 수 있고 당연히 O(logN)으로도 가능함.
그런데 파이썬으로 했을 때는 왜 틀린지 모르겠음.
이게 Lv.2면 1번 문제도 Lv.2가 적당할듯?
[모두의 랜덤 디펜스] - 실랜디
시험시간 : 120분, 실제 : 48분만에 올솔
Solved : 4/4
4. BOJ 1380 귀걸이 - S5
그냥 각 학생들마다 기록에서 몇 번씩 불렸는지를 배열 등으로 저장하고, 그 중에서 한 번만 기록에서 나온 학생을 출력하는 문제.
BOJ 27111번이 생각나는 문제인데, 이 문제가 좀 더 쉬운 것 같다.
그런데 학생들의 이름에 공백이 존재할 수 있어서 C++로 '\n' 기준으로 전체를 한 번에 받아야 하므로, 그냥 파이썬으로 풀었다.
'A', 'B'는 왜 있는지 잘 모르겠음. (기여할려고 들어가니 다들 같은 생각을 하는 듯.)
5. BOJ 16508 전공책 - S3
비트마스킹 + 브루트포스 문제로 N이 작아 2^N가지의 경우의 수를 다 확인할 수 있음.
각 문자열마다의 알파벳 분포를 벡터에 저장하여 관리, 경우의 수마다 포함되는 문자열들의 알파벳 분포를 합치고 합친 결과가 원하는 단어의 알파벳 분포를 전부 넘기면 답을 갱신하면 풀림.
6. BOJ 4097 수익 - S2
구간 합 문제로 며칠 전에 다시 풀어본 BOJ 1912랑 같은 문제.
Kadane Algorithm이라는 알고리즘으로 풀린다고 하는데, 나는 그냥 p[i...j] 가 j가 마지막 원소로 존재하는 구간 합 중 최댓값이라면 p[1..i-1]는 p[1...k] (k<j) 중에서 최솟값이어야 한다는 성질로 풀었음.
(max(p[1..j] - p[1..k])를 원하고 p[1...j]가 고정이라면 p[1...k]가 최소여야 하니깐 이렇게 풀 수 있음.)
7. BOJ 25194 결전의 금요일 - S1
좀 고전했던 문제.
일단 문제에서 원하는 것은 임의의 원소들을 몇 개를 선택했을 때, 선택한 원소들의 합이 7로 나누었을 때 나머지가 4인 경우가 존재하는지의 여부인 것을 어렵지 않게 파악은 했다.
그런데 이후에 이걸 또 어떻게 구하지 싶었는데, 생각해보니 각 원소들을 7로 나눈 나머지가 가치인 동전들로 생각하면 동전 DP로 풀 수 있었다.
S1이 아니라 G5가 맞지않나 싶은데, 이게 5중 포문으로 브루트포싱해서 풀린다길래 신기했음.
오늘 일지는 여기서 끝.
'Algorithm & PS > PS 일지' 카테고리의 다른 글
2023.12.21. (1) | 2023.12.21 |
---|---|
2023.12.20. (0) | 2023.12.21 |
2023.12.19. (0) | 2023.12.20 |
2023.12.18. (0) | 2023.12.19 |
2023.12.16. (0) | 2023.12.16 |