알고리즘 문제풀이/SWEA
-
sw expert academy 1259번 금속 막대 자바(java) 풀이 난이도 : D5 [sw expert academy 1259번 금속 막대]https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18NaZqIt8CFAZN) 문제정리 원형 금속 막대는 수,암나사로 이루어져 있다. 수나사와 암나사는 굵기가 서로 다르다. 원형 금속 막대를 연결하기 위해서는 수나사의 굵기와 암나사의 굵기가 서로 일치해야 한다. 어떤 순서로 연결해야 가장 많이 연결할 수 있는지 찾아라. 수나사의 값과 암나사의 값의 중복이 없다. 최대 길이로 연결했을때 남는 나사가 없다. (모든 나사를 연결할 수 있다.) 문제 풀이 1 2 / 5 1 / ..
[SWEA] SW expert academy 1259번 금속 막대 자바(java) 풀이sw expert academy 1259번 금속 막대 자바(java) 풀이 난이도 : D5 [sw expert academy 1259번 금속 막대]https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18NaZqIt8CFAZN) 문제정리 원형 금속 막대는 수,암나사로 이루어져 있다. 수나사와 암나사는 굵기가 서로 다르다. 원형 금속 막대를 연결하기 위해서는 수나사의 굵기와 암나사의 굵기가 서로 일치해야 한다. 어떤 순서로 연결해야 가장 많이 연결할 수 있는지 찾아라. 수나사의 값과 암나사의 값의 중복이 없다. 최대 길이로 연결했을때 남는 나사가 없다. (모든 나사를 연결할 수 있다.) 문제 풀이 1 2 / 5 1 / ..
2020.03.20 -
sw expert academy 1258번 행렬찾기 자바(java) 풀이 난이도 : D4 sw expert academy 1258번 행렬찾기 문제정리 창고에 n*n 배열 형태로 화학 물질들이 있다. 빈 용기는 0 화학 물질이 들어 있는 용기는 화학 물질의 종류에 따라 1~9 사이의 값을 가짐 화학물질이 담긴 용기들이 사각형을 이루고 있다. 사각형 내부에는 빈 용기가 없다. 화학 물질이 담긴 용기들로 이루어진 사각형들은 각각 차원이 다르다. (열과 행의 개수가 서로 다르다) 2개의 화학 물질이 담긴 용기들로 이루어진 사각형들 사이에는 빈 용기들이 있다. (대각선 상에는 빈 용기가 없을수도 있다.) n은 100이하 이다. 문제 풀이 처음에는 bfs로 풀어야 되나 하고 bfs 함수를 다 작성하였다가 깨달았습니..
[SWEA] sw expert academy 1258번 행렬찾기 자바(java) 풀이 ( compartor 구현)sw expert academy 1258번 행렬찾기 자바(java) 풀이 난이도 : D4 sw expert academy 1258번 행렬찾기 문제정리 창고에 n*n 배열 형태로 화학 물질들이 있다. 빈 용기는 0 화학 물질이 들어 있는 용기는 화학 물질의 종류에 따라 1~9 사이의 값을 가짐 화학물질이 담긴 용기들이 사각형을 이루고 있다. 사각형 내부에는 빈 용기가 없다. 화학 물질이 담긴 용기들로 이루어진 사각형들은 각각 차원이 다르다. (열과 행의 개수가 서로 다르다) 2개의 화학 물질이 담긴 용기들로 이루어진 사각형들 사이에는 빈 용기들이 있다. (대각선 상에는 빈 용기가 없을수도 있다.) n은 100이하 이다. 문제 풀이 처음에는 bfs로 풀어야 되나 하고 bfs 함수를 다 작성하였다가 깨달았습니..
2020.03.18 -
sw expert academy 1221번 GNS 자바(java) 풀이 난이도 : D3 sw expert academy 1221번 GNS 문제정리 0~9의 값이 다음과 같다 ZRO, ONE, TWO, THR, FOR, FIV, SIX, SVN, EGT, NIN 문자열이 주어질때 오름차순 정렬하여 출력하여라 문제풀이 처음에는 split을 이용하여 String 배열에 담아두고 처리하였는데 배열의 인덱스를 넘어가서 StringTokenizer를 이용하였습니다. 이 문제는 ArrayList의 indexOf 함수와 Collections.sort 함수를 알면 쉽게 풀 수 있습니다. 0. 0~9에 해당하는 문자를 ArrayList에 담습니다. 문자열을 StringTokenizer를 이용하여 parsing합니다. 문자..
[SWEA] 1221번 GNS 자바(java) 풀이 (문자열 처리, sort)sw expert academy 1221번 GNS 자바(java) 풀이 난이도 : D3 sw expert academy 1221번 GNS 문제정리 0~9의 값이 다음과 같다 ZRO, ONE, TWO, THR, FOR, FIV, SIX, SVN, EGT, NIN 문자열이 주어질때 오름차순 정렬하여 출력하여라 문제풀이 처음에는 split을 이용하여 String 배열에 담아두고 처리하였는데 배열의 인덱스를 넘어가서 StringTokenizer를 이용하였습니다. 이 문제는 ArrayList의 indexOf 함수와 Collections.sort 함수를 알면 쉽게 풀 수 있습니다. 0. 0~9에 해당하는 문자를 ArrayList에 담습니다. 문자열을 StringTokenizer를 이용하여 parsing합니다. 문자..
2020.03.12 -
sw expert academy 4012번 요리사 자바(java) 풀이 모의 SW 역량 테스트 풀이시간: 약 40분 sw expert academy 4012번 요리사 문제정리 두 명의 손님에게 음식을 제공하며 N개의 식재료가 있다. 식재료를 N/2로 나누어 두 개의 요리를 하려고 한다. A음식과 B음식의 맛의 차이가 최소가 되어야 한다. 식재료 i,j를 같이 쓰면 시너지 Sij가 발생한다. 각 음식의 맛은 음식을 구성하는 식재료들로부터 발생하는 시너지들의 합이다. 시너지는 1이상 20000이하의 정수이다. (시너지들의 합은 int 범위) 문제 접근 문제를 보자마자 스타트와 링크 문제가 생각이 났습니다. 이는 역량 테스트 기출인데 거의 같다고 생각했습니다. 조합을 통해 식재료 절반을 선택하여 A음식을 만들..
[SWEA] 모의 SW 역량 테스트 :: 4012번 요리사 자바(java) 풀이( 조합, dfs)sw expert academy 4012번 요리사 자바(java) 풀이 모의 SW 역량 테스트 풀이시간: 약 40분 sw expert academy 4012번 요리사 문제정리 두 명의 손님에게 음식을 제공하며 N개의 식재료가 있다. 식재료를 N/2로 나누어 두 개의 요리를 하려고 한다. A음식과 B음식의 맛의 차이가 최소가 되어야 한다. 식재료 i,j를 같이 쓰면 시너지 Sij가 발생한다. 각 음식의 맛은 음식을 구성하는 식재료들로부터 발생하는 시너지들의 합이다. 시너지는 1이상 20000이하의 정수이다. (시너지들의 합은 int 범위) 문제 접근 문제를 보자마자 스타트와 링크 문제가 생각이 났습니다. 이는 역량 테스트 기출인데 거의 같다고 생각했습니다. 조합을 통해 식재료 절반을 선택하여 A음식을 만들..
2020.03.09 -
sw expert academy 1808번 지희의 고장난 계산기 자바(java) 풀이 난이도 : D4 sw expert academy 1808번 지희의 고장난 계산기 문제정리 숫자 X를 계산하기 위해 눌러야 하는 최소 버튼 수를 구하고 싶다. i번째 정수는 계산기에서 i-1을 누를 수 있는 버튼의 상태를 나타낸다. (1이면 동작, 0이면 동작하지 않음) 숫자버튼, 곱하기 버튼, 계산버튼이 있다. 타겟 숫자를 만들기 위한 최소 버튼 클릭 수를 출력한다.(만들 수 없는 경우 -1 출력) 가능한 숫자중 같은 숫자를 여러 번 누를 수 있다. 곱하기를 여러번 사용할 수 있다. 문제풀이 문제에서 보여준 예시만 보면 쉬워보입니다. 하지만 주어진 tc들을 보면 두 수의 곱만으로 이루어지는 것이 아니며 또한, 같은 버튼..
[SWEA] 1808번 지희의 고장난 계산기 자바(java) 풀이 (dfs)sw expert academy 1808번 지희의 고장난 계산기 자바(java) 풀이 난이도 : D4 sw expert academy 1808번 지희의 고장난 계산기 문제정리 숫자 X를 계산하기 위해 눌러야 하는 최소 버튼 수를 구하고 싶다. i번째 정수는 계산기에서 i-1을 누를 수 있는 버튼의 상태를 나타낸다. (1이면 동작, 0이면 동작하지 않음) 숫자버튼, 곱하기 버튼, 계산버튼이 있다. 타겟 숫자를 만들기 위한 최소 버튼 클릭 수를 출력한다.(만들 수 없는 경우 -1 출력) 가능한 숫자중 같은 숫자를 여러 번 누를 수 있다. 곱하기를 여러번 사용할 수 있다. 문제풀이 문제에서 보여준 예시만 보면 쉬워보입니다. 하지만 주어진 tc들을 보면 두 수의 곱만으로 이루어지는 것이 아니며 또한, 같은 버튼..
2020.03.08 -
sw expert academy 1953번 탈주범 검거 자바(java) 풀이 모의 SW 역량 테스트 풀이시간: 1시간 30분 sw expert academy 1953번 탈주범 검거 문제정리 탈주범은 탈출한지 1시간 뒤 지하터널의 어느 지점으로 들어갔다. 터널끼리 연결 되어있는 경우 이동이 가능하다. 탈주범은 시간당 1의 거리를 이동할 수 있다. 지하터널은 총 7종류의 구조물로 구성되어 있다. 터널이 없는 장소(구조물 X) 상하좌우 연결 상하 연결 좌우 연결 상우 연결 하우 연결 하좌 연결 상좌 연결 문제풀이 이 문제는 dfs가 아닌 bfs를 이용해야 풀 수 있습니다. 시간안에 해결하거나 최단 거리등과 관련된 문제는 bfs 탐색이 좋습니다. 시간에 얼마나 퍼져서 갈 수 있는지를 묻는 문제이기 때문에 bfs..
[SWEA] 모의 sw 역량 테스트 :: 1953번 탈주범 검거 (bfs, 비트 연산)sw expert academy 1953번 탈주범 검거 자바(java) 풀이 모의 SW 역량 테스트 풀이시간: 1시간 30분 sw expert academy 1953번 탈주범 검거 문제정리 탈주범은 탈출한지 1시간 뒤 지하터널의 어느 지점으로 들어갔다. 터널끼리 연결 되어있는 경우 이동이 가능하다. 탈주범은 시간당 1의 거리를 이동할 수 있다. 지하터널은 총 7종류의 구조물로 구성되어 있다. 터널이 없는 장소(구조물 X) 상하좌우 연결 상하 연결 좌우 연결 상우 연결 하우 연결 하좌 연결 상좌 연결 문제풀이 이 문제는 dfs가 아닌 bfs를 이용해야 풀 수 있습니다. 시간안에 해결하거나 최단 거리등과 관련된 문제는 bfs 탐색이 좋습니다. 시간에 얼마나 퍼져서 갈 수 있는지를 묻는 문제이기 때문에 bfs..
2020.03.08