SWEA
SWEA] 2112. [모의 SW 역량테스트] 보호 필름
SWEA] 2112. (모의 SW 역량테스트) 보호 필름 2112. (모의 SW 역량테스트) 보호 필름 문제의 저작권은 SWEA에 있습니다 초기 접근 방법 처음에는 부분집합의 개수로 접근을 하고, 만들어진 부분집합으로 조합을 만들고 나서 약품주입 및 품질확인 과정을 진행한 뒤에 최소 주입횟수를 갱신시켜주는 방법을 사용하였다. 이 방법은, 내가 부분집합을 구하는 방법에서 가장 작은 개수부터 생성되는 것이 아니었기에((1) (1,2) (1,3) (1,2,3) (2)...) 최소 주입횟수를 갱신하는데 까다로운 면이 있었다. 최종 접근 방법 완전탐색으로 접근하면 가능은 하겠지만, 그것보다는 더 파워풀하게 접근해보자. tArr(초기 행 저장 배열)을 적극 활용한다면(초기 접근에서도 사용은 했지만 복잡하게 꼬였다)..
SWEA] 2105. [모의 SW 역량테스트] 디저트 카페
2105.(모의 SW 역량테스트) 디저트 카페 2105. (모의 SW 역량테스트) 디저트 카페 문제의 저작권은 SWEA에 있습니다 대각선을 잘 그리면 되는 문제. 삼성공채 SW 역량테스트를 준비하기 전날에 풀까말까 하다가 안풀고 다른 구현문제를 풀었었는데, 이 문제를 풀고 시험을 봤다면 시간이 부족하지는 않았을텐데 라는 후회를 하게 만든 문제. 여하튼, 나중에 이 문제를 풀때 역시 2019 하반기 공채 삼성 SW역량테스트 오전 1번문제를 풀듯이 풀어봤는데, 생각보다 빡빡하고 시간도 오래걸렸다. (모든 경우의 수를 조건문으로 고려하는 구현방법으로 풀어서) 단순히, 방향과 프루닝(가지치기), 조건을 건 백트래킹을 사용하면 굉장히 파워풀하고 직관적이며 간단한 코드를 짤 수 있다. dfs 백트래킹 짱짱 혹시 비..
SWEA] 1949. [모의 SW 역량테스트] 등산로 조성
SWEA] 1949. (모의 SW 역량테스트) 등산로 조성 SWEA 1949. (모의 SW 역량테스트) 등산로 조성 문제의 저작권은 SWEA에 있습니다 문제의 핵심은 위 규칙 중 3번을 고려하는 것. 처음에는 bfs에 조건을 걸고 산을 깎을 때 dfs로 확인하는 방법을 고려했으나, 결국 dfs 백트래킹으로 하는 것이 확실하고 직관적으로 보여 수정해서 다시 푼 문제. dfs + 백트래킹 방법을 처음부터 적용했더라면, 30분-1시간내에 풀었겠지만, 방황하다가 시간을 조금 더 소요했던 문제였다. 코딩하기 전, 여러 상황을 고려하고 글로 써보고 타이핑을 진행하지만 아직도 많이 부족하다. 그래도 dfs 백트래킹을 적용해서 한번에 성공했을 때는 나름 기뻤던 문제. dfs 백트래킹을 연습하기에 좋은 문제. 1 2 3..
SWEA] 4796. 의석이의 우뚝 선 산
SWEA] 4796. 의석이의 우뚝 선 산 SWEA 3131. 100만 이하의 모든 소수(Link) 문제의 저작권은 SWEA에 있습니다 시간초과 날 것 같았지만 그래도 깡으로 구현했다가 역시나 시간초과를 맞이했던 문제.. 구현하는 규칙을 찾는게 아니라, 수학적인 규칙을 찾는게 포인트 숫자를 나열하고 꼭지점(가장 높아졌다가 내려오는 부분)을 기준으로, 문제의 규칙이 깨지는 순간까지의 올라가는 횟수(UP)과 내려가는 횟수(DOWN)을 곱하면 된다. 규칙이 깨지면 다시 UP/DOWN은 0으로 초기화. 다시 규칙(우뚝 선 산)의 조건을 찾는다. - 두번째 숫자부터 끝까지 탐색하면서, 이전의 숫자가 현재의 숫자보다 작다면 UP++ 그렇지 않다면 down++ 단, 구별해주기 위한 조건을 더 넣어서 down하다가 u..
SWEA] 3131. 100만 이하의 모든 소수
SWEA] 3131. 100만 이하의 모든 소수 SWEA 3131. 100만 이하의 모든 소수(Link) 문제의 저작권은 SWEA에 있습니다 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 소수 문제는 에라토스테네스의 체 의 방법으로 접근해야한다. 소수는 1과 자기 자신만을 약수로 가지는 수를 말한다. 체로 수를 걸러낸다는 하여 에라토스테네스의 체라고 한단다. 에라토스테네스의 체를 다시 떠올려 봤을때, 기억나는 것은 모든 자연수는 소수의 곱으로 표현될 수 있다. 제일 작은 소수 2를 선택한다. N보다 작은 선택한 수의 배수를 지운다. (곱으로 표현되면 소수가 아니므로) 지워지지 않은 수를 반복한다. 이 작업을 ..