알고리즘 문제풀이/SWEA
-
sw expert academy 4008번 숫자 만들기 자바(java) 풀이 모의 SW 역량테스트 숫자 만들기 sw expert academy 4008번 숫자 만들기 문제정리 연산자와 숫자가 주어질때 가능한 수식을 계산하여 최대와 최소값을 구해라. 연산자의 우선순위는 고려하지 않고 왼쪽에서 오른쪽으로 차례대로 계산한다. 연산자의 개수는 숫자의 개수보다 항상 1개 작다. 숫자의 순서는 바꿀 수 없다. 나눗셈에서 소수점 이하는 버린다. 수식을 완성할때 주어진 카드를 모두 사용해야 한다. 문제풀이 숫자는 순서가 바뀌지 않으므로 연산자의 순서만 조정해주면 됩니다. 그러기 위해서 백트래킹을 통해서 모든 가능한 순서를 찾아주어야 합니다. 그리고 계산을 하면 됩니다. 계산할 때 첫번째 연산자는 2번째 숫자와 3번째 ..
[SWEA] 4008번 숫자 만들기 자바(java) 풀이 (dfs, 백트래킹)sw expert academy 4008번 숫자 만들기 자바(java) 풀이 모의 SW 역량테스트 숫자 만들기 sw expert academy 4008번 숫자 만들기 문제정리 연산자와 숫자가 주어질때 가능한 수식을 계산하여 최대와 최소값을 구해라. 연산자의 우선순위는 고려하지 않고 왼쪽에서 오른쪽으로 차례대로 계산한다. 연산자의 개수는 숫자의 개수보다 항상 1개 작다. 숫자의 순서는 바꿀 수 없다. 나눗셈에서 소수점 이하는 버린다. 수식을 완성할때 주어진 카드를 모두 사용해야 한다. 문제풀이 숫자는 순서가 바뀌지 않으므로 연산자의 순서만 조정해주면 됩니다. 그러기 위해서 백트래킹을 통해서 모든 가능한 순서를 찾아주어야 합니다. 그리고 계산을 하면 됩니다. 계산할 때 첫번째 연산자는 2번째 숫자와 3번째 ..
2020.03.07 -
sw expert academy 7699번 수지의 수지 맞는 여행 자바(java) 풀이 난이도 : D4 풀이시간 : 약 30분 sw expert academy 7699번 수지의 수지 맞는 여행 문제정리 섬은 R행 C열로 이루어져있다. 알파벳은 섬의 명물이고 같은 알파벳을 가지면 같은 명물을 가진다. 수지는 1행 1열에서 여행을 시작한다. 명물을 볼때 마다 요금을 지급하며, 처음 볼때는 무료이다. 명물을 본 후 4방향(상,하,좌,우)중 한 방향으로 이동 가능하다. 같은 알파벳 명물을 두 번 이상 보지 않도록 여행을 떠나는 방법 중, 볼 수 있는 최대 명물의 개수를 구해라 문제플이 이 문제와 디저트 카페 문제가 유사합니다. 같이 풀어보시는걸 추천드립니다!! 출발점이 정해져있으므로 map의 (0,0) 위치에서..
[SWEA] 7699번 수지의 수지 맞는 여행 자바(java) 풀이 (dfs)sw expert academy 7699번 수지의 수지 맞는 여행 자바(java) 풀이 난이도 : D4 풀이시간 : 약 30분 sw expert academy 7699번 수지의 수지 맞는 여행 문제정리 섬은 R행 C열로 이루어져있다. 알파벳은 섬의 명물이고 같은 알파벳을 가지면 같은 명물을 가진다. 수지는 1행 1열에서 여행을 시작한다. 명물을 볼때 마다 요금을 지급하며, 처음 볼때는 무료이다. 명물을 본 후 4방향(상,하,좌,우)중 한 방향으로 이동 가능하다. 같은 알파벳 명물을 두 번 이상 보지 않도록 여행을 떠나는 방법 중, 볼 수 있는 최대 명물의 개수를 구해라 문제플이 이 문제와 디저트 카페 문제가 유사합니다. 같이 풀어보시는걸 추천드립니다!! 출발점이 정해져있으므로 map의 (0,0) 위치에서..
2020.03.07 -
sw expert academy 1242 암호코드 스캔 자바(java) 풀이 난이도 : D5 sw expert academy 1242 암호코드 스캔 문제 정리 암호는 총 8개의 숫자로 이루어져있다. 앞 7자리는 상품 고유의 번호를, 마지막 자리는 검증코드를 나타낸다. 검증코드 계산은 다음과 같이 한다. (홀수 자리의 합 * 3 ) + 짝수 자리의 합 + 검증 코드는 10의 배수가 되어야 한다. 암호코드 숫자 하나의 길이는 최소7이며 7의 배수로 늘어날 수 있다. (각 숫자는 흰색과 파란색의 넓이 비로 표현된다) 원래 9인 "0001011"의 비는 3:1:1:2이다. 2배로 늘어나게 되면 "00000011001111"이 된다. 비율은 같으므로 이도 9를 표현한다. 암호코드에 포함된 숫자들의 합을 출력한다...
[SWEA] 1242번 암호코드 스캔 자바(java) 풀이sw expert academy 1242 암호코드 스캔 자바(java) 풀이 난이도 : D5 sw expert academy 1242 암호코드 스캔 문제 정리 암호는 총 8개의 숫자로 이루어져있다. 앞 7자리는 상품 고유의 번호를, 마지막 자리는 검증코드를 나타낸다. 검증코드 계산은 다음과 같이 한다. (홀수 자리의 합 * 3 ) + 짝수 자리의 합 + 검증 코드는 10의 배수가 되어야 한다. 암호코드 숫자 하나의 길이는 최소7이며 7의 배수로 늘어날 수 있다. (각 숫자는 흰색과 파란색의 넓이 비로 표현된다) 원래 9인 "0001011"의 비는 3:1:1:2이다. 2배로 늘어나게 되면 "00000011001111"이 된다. 비율은 같으므로 이도 9를 표현한다. 암호코드에 포함된 숫자들의 합을 출력한다...
2020.03.06 -
sw expert academy 2105번 디저트 카페 자바(java) 풀이 모의 SW 역량 테스트 sw expert academy 2105번 디저트 카페 문제 정리 한 변의 길이가 N인 정사각형 모양을 가진 지역이 있다. 숫자는 디저트 카페에서 팔고 있는 디저트의 종류 수를 의미한다. 카페들 사이를 대각선 방향으로 움직일 수 있으며 사각형 모양으로 움직이고 출발지로 되돌아와야 한다. 이동 중에 같은 숫자의 디저트 종류를 가지는 카페에 가면 안된다. 하나의 카페에만 방문해서는 안된다. 왔던 길을 다시 돌아가도 안된다. 가장 많은 카페를 경우하는 케이스를 찾고, 그때 경유 가능한 카페 수를 출력한다. 먹을 수 없는 경우는 -1을 출력한다. 디저트 번호는 1~100까지 이다. 문제풀이 이동 가능한 경우는 다..
[SWEA] 모의 SW 역량 테스트 :: 2105번 디저트 카페 자바 풀이(백트래킹)sw expert academy 2105번 디저트 카페 자바(java) 풀이 모의 SW 역량 테스트 sw expert academy 2105번 디저트 카페 문제 정리 한 변의 길이가 N인 정사각형 모양을 가진 지역이 있다. 숫자는 디저트 카페에서 팔고 있는 디저트의 종류 수를 의미한다. 카페들 사이를 대각선 방향으로 움직일 수 있으며 사각형 모양으로 움직이고 출발지로 되돌아와야 한다. 이동 중에 같은 숫자의 디저트 종류를 가지는 카페에 가면 안된다. 하나의 카페에만 방문해서는 안된다. 왔던 길을 다시 돌아가도 안된다. 가장 많은 카페를 경우하는 케이스를 찾고, 그때 경유 가능한 카페 수를 출력한다. 먹을 수 없는 경우는 -1을 출력한다. 디저트 번호는 1~100까지 이다. 문제풀이 이동 가능한 경우는 다..
2020.03.05 -
sw expert academy 2383번 점심 식사시간 자바(java) 풀이 모의 SW 역량 테스트 sw expert academy 2383번 점심 식사시간 문제정리 NxN 크기의 정사각형 방이 주어진다. 1: 사람 2~10: 계단의 입구이며 층계 수를 의미한다. 이동 완료 시간: 모든 사람들이 계단을 내려가 아래 층으로 이동을 완료한 시간 이동 시간: 계단 입구까지 가는데 걸리는 시간 + 계단을 내려가는 시간 계단 입구까지 이동시간 이동 시간(분) = | PR - SR | + | PC - SC | (PR, PC : 사람 P의 세로위치, 가로위치, SR, SC : 계단 입구 S의 세로위치, 가로위치) 계단을 내려가는 시간 계단을 내려가는 시간은 계단 입구에 도착한 후부터 계단을 완전히 내려갈 때까지의 ..
[SWEA] 모의 SW 역량 테스트 :: 2383번 점심 식사시간 (조합, 시뮬레이션)sw expert academy 2383번 점심 식사시간 자바(java) 풀이 모의 SW 역량 테스트 sw expert academy 2383번 점심 식사시간 문제정리 NxN 크기의 정사각형 방이 주어진다. 1: 사람 2~10: 계단의 입구이며 층계 수를 의미한다. 이동 완료 시간: 모든 사람들이 계단을 내려가 아래 층으로 이동을 완료한 시간 이동 시간: 계단 입구까지 가는데 걸리는 시간 + 계단을 내려가는 시간 계단 입구까지 이동시간 이동 시간(분) = | PR - SR | + | PC - SC | (PR, PC : 사람 P의 세로위치, 가로위치, SR, SC : 계단 입구 S의 세로위치, 가로위치) 계단을 내려가는 시간 계단을 내려가는 시간은 계단 입구에 도착한 후부터 계단을 완전히 내려갈 때까지의 ..
2020.03.05 -
sw expert academy 1949 등산로 조성 자바(java) 풀이 모의 SW 역량 테스트 sw expert academy 1949 등산로 조성 문제정리 등산로를 만들기 위한 부지는 NxN 크기이다. 등산로는 가장 높은 봉우리에서 시작된다. 등산로는 높은 지형에서 낮은 지형으로 가로 or 세로 방향으로 연결되어 있어야 한다. 높이가 같은 곳, 대각선 연결은 불가하다. 딱 한 곳을 정해서 최대 k 깊이 만큼 깎는 공사를 할 수 있다. (정수 단위로만 깎을 수 있으며 1보다 작게 만들 수도 있다.) 이때 k 깊이 만큼 깎아서 가장 높은 곳이 변하더라고 봉우리는 초기 봉우리를 이용한다. 가장 긴 등산로를 찾아 등산로의 길이를 출력해라! 문제풀이 가장 높은 봉우리를 구합니다. 1~k까지 map의 좌상단 ..
[SWEA] 모의 SW 역량 테스트 :: 1949번 등산로 조성 (dfs, 백트래킹)sw expert academy 1949 등산로 조성 자바(java) 풀이 모의 SW 역량 테스트 sw expert academy 1949 등산로 조성 문제정리 등산로를 만들기 위한 부지는 NxN 크기이다. 등산로는 가장 높은 봉우리에서 시작된다. 등산로는 높은 지형에서 낮은 지형으로 가로 or 세로 방향으로 연결되어 있어야 한다. 높이가 같은 곳, 대각선 연결은 불가하다. 딱 한 곳을 정해서 최대 k 깊이 만큼 깎는 공사를 할 수 있다. (정수 단위로만 깎을 수 있으며 1보다 작게 만들 수도 있다.) 이때 k 깊이 만큼 깎아서 가장 높은 곳이 변하더라고 봉우리는 초기 봉우리를 이용한다. 가장 긴 등산로를 찾아 등산로의 길이를 출력해라! 문제풀이 가장 높은 봉우리를 구합니다. 1~k까지 map의 좌상단 ..
2020.03.04