본문 바로가기

알고리즘 문제풀이/SW Expert6

[SW Expert 1953] 탈주범 검거 [문제 바로가기]👇 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 탈주범이 맨홀 뚜껑부터 시작해 시간당 1의 거리만큼 계속 이동 탈주범이 있을 수 있는 장소를 찾아야 하기 때문에 bfs로 같은 거리에 있는 위치들을 모두 탐색 탈주범이 탈출 후 소요된 시간(L) == bfs 깊이가 되면 탐색 종료 1. 입력 받기 static int[] dr = {-1,0,1,0}; //상우하좌 static int[] dc = {0,1,0,-1}; //상우하좌 static int N, M, L, answer; static int[][] map; static boolean[][] v; public static void mai.. 2023. 4. 4.
[SW Expert 5656] 벽돌 깨기 [문제 바로가기]👇 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡풀이💡 문제에서 알 수 있는 정보 구슬을 N번 쏠 수 있다 구슬은 0 ~ W-1 중 하나의 열에 쏠 수 있다 구슬을 쏘면 벽돌이 깨지고 벽돌이 가지는 값에 따라 주변의 벽돌이 폭발한다 >> 벽돌이 터지는 순서가 중요! >> W개 중에 N개를 고르는 중복 순열! 전체 흐름 중복 순열 완성 만든 순서대로 구슬 쏘기 (breakBlock()) 가장 위에 있는 벽돌 찾기 벽돌이 가지는 값에 따라 사방 확인 && 폭발(explosion()) 벽돌 아래로 내리기 (moveDown()) 남은 벽돌 수 구해서 최솟값 찾기 >> 남은 벽돌 수가 최소이면 깨진.. 2023. 2. 25.
[SW 1247] 최적 경로 [문제 바로가기]👇 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡풀이💡 문제에서 알 수 있는 정보 고객의 집을 어떤 순서로 방문 하느냐에 따라 총 거리가 달라짐 모든 고객의 집을 방문해야 함! >> nPn 순열! 1. 입력 받기 순열을 만들기 위해 사용했는지 확인할 boolean 1차원 배열과 회사 정보, 집 정보, 각 고객 집 정보를 저장할 배열 생성 static int N; static boolean[] v; static int[] company, home; static int[][] customer; static int min; public static void main(String[] args) t.. 2023. 2. 23.
[SW 1873] 상호의 배틀필드 [문제 바로가기]👇 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡풀이💡 문제에서 제시한 기준에 따라 동작하게 하기!! >> 시뮬레이션 문제를 처음 읽을 때 방향이나 맵 구성 요소가 많아 계속 문제를 참고하면서 했기 때문에 중간 중간에 내가 헷갈리지 않게 하려고 코드를 최대한 깔끔하게 짜려고 했다. 기능 별로 메서드 전부 분리 :: play(), move(), shoot() 탱크 정보 저장 :: Tank 클래스 생성 1. 입력 받기 탱크는 무조건 1개만 등장하기 때문에 맵 정보를 받을 때 들어오는 전차의 위치와 방향을 tank 객체에 저장 명령어는 1차원 char 배열로 만들 수 있기 때문에 for문 사용하.. 2023. 2. 23.
[SW Expert 5215] 햄버거 다이어트 [문제 바로가기]👇 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡풀이💡 햄버거 재료의 맛 점수와 제한 칼로리가 주어졌을 때 재료를 조합해 만들 수 있는 가장 높은 맛 점수 구하기 문제에서 알 수 있는 정보 1. 햄버거의 선호도 = 재료들의 맛 점수의 합 → 순서가 없음 2.같은 재료를 여러 번 사용할 수 x → 중복 안됨 3.칼로리 제한 외 햄버거 조합의 제한은 x(특정 개수 이상 재료를 사용 x) >> 따라서 부분 집합! 1. 입력 받기 i번째 재료의 맛 점수와 칼로리를 data 배열의 0번, 1번 인덱스에 저장해서 사용 static int N, L, max; static int[][] data; pub.. 2023. 2. 16.
[SW Expert 4012] 요리사 [문제 바로가기]👇 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡풀이💡 1. N개의 요리 중에서 N/2개의 재료를 골라 요리 A, B 만들기 N/2개를 골라 요리를 만들면, 고르지 않은 나머지 N/2개가 다른 쪽 요리의 재료가 됨! 각 요리의 합을 구하는 것이기 때문에 순서가 x >> 따라서 조합!! 2. 요리의 재료가 완성 되었을 때(조합이 완성 되었을 때) 각 요리 맛의 최솟값 구하기 1. 입력 받기 static int[][] data; static int N ,R; static boolean[] v; // 완성된 조합 저장 static int min; public static void main(Str.. 2023. 2. 16.