본문 바로가기

PS/SWEA6

[SWEA 5653] 줄기세포배양 문제 : 5653. [모의 SW 역량테스트] 줄기세포배양 [문제 출처] : SW Expert Academy [모의 SW 역량테스트] - 줄기세포배양 이번 문제를 구현하는 데에는 생각 없이 그냥 단순하게 구현할 수 있었다 다만 변수의 명명을 명확하게 하지 않아 실수해 시간을 조금 많이 썼다 대충 변수 이름을 지어버려 의도치 않게 다른 큐를 사용해 디버깅 하느라 아까운 시간을 날렸다.. 이번 문제 같은 경우는 차량 정비소 문제와 미생물 격리를 풀기 위해서 썼던 자료구조와 시간의 흐름을 코드로 구현하는 방법이 매우 비슷하다고 느꼈다 [문제 풀이] 이번 문제를 풀 때 격자 (board)에 대한 언급이 없고 "시뮬레이션에서 배양 용기의 크기는 무한하다고 가정한다." 라는 조건 때문에 격자를 쓰지 않고 풀어야 하나.. 2020. 6. 17.
[SWEA 5644] 무선 충전 문제 : 5644. [모의 SW 역량테스트] 무선 충전 [문제 출처] : SW Expert Academy [모의 SW 역량테스트] - 차량 정비소 [문제 풀이] 이번 문제는 시뮬레이션 + 완전 탐색 문제이다 이동 시간에 따른 이동 정보 즉 경로가 주어진다 시간의 정보는 주어지지 않고 또한 문제를 푸는 데 있어서 중요하지 않으며 주어진 이동 경로에 맞게 이동하면서 2명의 사용자가 얻을 수 있는 충전한 양의 합의 최댓값을 구하는 문제이다 TMI) 문제에서는 무조건 2명의 사용자가 이동하면서 얻을 수 있는 충전한 양의 합의 최댓값을 구하는 것이지만 여러 명의 사용자가 사용하는 것으로 문제를 구성했다면 조금 더 어려운 문제이지 않았나 생각이 된다. 그러한 문제 또한 사용자의 제한 범위가 크지 않다면 완전 탐색으.. 2020. 6. 7.
[SWEA 2382] 미생물 격리 문제 :[모의 SW 역량테스트] - 미생물 격리 [문제 출처] : SW Expert Academy [모의 SW 역량테스트] - 미생물 격리 [문제풀이] 이 문제 역시 차량 정비소 문제 : https://kbj96.tistory.com/12?category=904725 와 같이 시뮬레이션 문제이다! 1시간 마다 미생물 군집들이 이동 하게 되는데 이동하면서 여러 가지 주어진 조건들을 처리하고 나서 m 시간 후에 특정상황 : 미생물 총 수 를 구하는 문제이다 개인적으로 BOJ 문제에서 유사한 문제를 풀어보았기 때문에 풀이를 생각해내고 코드를 짜는데 있어서는 큰 어려움은 없었지만 [ 유사 문제 ] : https://www.acmicpc.net/problem/17143 각 테스트케이스마다 미생물의 양을 표시해두는.. 2020. 6. 3.
[SWEA 2477] 차량 정비소 문제 : [모의 SW 역량테스트] - 차량 정비소 [문제 출처] : SW Expert Academy [모의 SW 역량테스트] - 차량 정비소 [문제풀이] 이 문제는 삼성 SW 모의 역량 테스트에서 많이 볼 수 있는 전형적인 시뮬레이션 문제이다 시뮬레이션 문제라고 하면은 대게 1초, 1시간 혹은 하루가 지나면서 달라지는 상황 등을 조건에 맞게 구현하는 문제이다 시뮬레이션 문제는 대게 비슷한 큰 틀을 갖는다 그렇기 때문에 여러 가지 비슷한 시뮬레이션 문제들을 풀다 보면 큰 틀은 다르지 않음을 알 수 있을 것이다 문제마다 처리해야 할 조건 혹은 구현에서 차이가 있을 뿐 큰 틀은 다르지 않다 그래서 여러 가지 상황의 문제들을 풀다 보면은 감을 잡을 수 있을 것이다!! BOJ에서 많은 시뮬레이션 문제들을 풀어 보.. 2020. 5. 25.
[SWEA 1204] (D2) 최빈수 구하기 문제 : (D2) 1204 - 최빈수 구하기 [ 문제 출처 ] : SW Expert Academy [ 문제 풀이 ] 다음과 같은 수 분포가 있으면, 10, 8, 7, 2, 2, 4, 8, 8, 8, 9, 5, 5, 3 10 : 1번 8 : 4번 7 : 1번 2 : 2번 .... .... 위와 같이 가장 8이라는 숫자가 4번으로 가장 많이 등장한다 이를 최빈수 라고 한다 점수의 분포는 0점 ~ 100점 까지 존재 한다. 문제에서 학생의 수는 1000명 이라고 정의 하였으므로 1000명의 점수를 입력 받을 때 마다 해당 점수를 카운트 해준다 이는 배열을 이용하여 쉽게 구현 할 수 있다 다음으로 해당 답을 찾기 위해서 그 배열을 순회 하면서 최빈수 이면서 가장 큰 점수를 구하면 된다 [ 소스 코드 ] 1 2 .. 2020. 5. 20.
[SWEA 1210] (D4) Ladder1 문제 : (D4) 1210 - Ladder1 [ 문제 출처 ] : SW Expert Academy [ 문제 풀이 ] 이 문제는 시뮬레이션 문제이다 문제에서 구하고자 하는 값은 도착점 2에 대응 되는 출발점의 인덱스 번호를 구하는 것이다 바로 무작정 문제를 풀려고 한다면 위에서 부터 출발 가능 한 점에서 시작 하여시뮬레이션을 하면서 2를 찾으려 할 것이다 즉, 모든 방법을 모두 시도 해보려 할 것이다 하지만 이는 매우 비효율적이다 사다리 타기 게임은 많이들 해봐서 알수 있듯이 출발점과 도착점은 1대1 대응 이다 따라서 반대로 2에서 출발하면 구하고자 하는 값을 단 한번의 시도로 찾을 수 있을 것이다 이 문제는 방향을 코드에 적절하게 구현 해야 하며 조금신경 써야할 부분이라고 하면은 배열의 범위에 값에 벗어.. 2020. 5. 19.