728x90
[java][swea][d3] 2805. 농작물 수확하기
알고리즘/SWEA 2022. 2. 27. 20:56

문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 /* * 입력 * 1. 테스트 케이스 T * 2. 농장의 크기 N * 3. 농장 내 농작물의 가치 * 출력 * 1. 얻을 수 있는 수익 * 조건 * 1. 다이아몬드 모양으로 얻을 수 있음 */ 예전에는 복잡하게 풀었던 것 같은데 다시 풀어 보니까 생각보다 간단했다 N/2으로 계산해서 하나씩 줄여 나가면 된다 코드 package com.ssafy.im; import java.io.*; import java.util.*; public class D3_2805_농작물수확하기 { public static void main(String[] args) throws..

[java][swea][d3] 1873. 상호의 배틀필드
알고리즘/SWEA 2022. 2. 27. 20:52

문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 /* * 입력 * 1. 테스트 케이스 T * 2. 맵의 높이 H 너비 W * 3. H의 줄에 맵 문자열 * 4. 정수 N * 5. 길이가 N인 문자열(위아래왼쪽오른쪽 UDLR 포탄 S) * 출력 * 1. #tc 게임 맵 * 조건 . 평지(전차가 들어갈 수 있다.) * 벽돌로 만들어진 벽 # 강철로 만들어진 벽 - 물(전차는 들어갈 수 없다.) ^ 위쪽을 바라보는 전차(아래는 평지이다.) v 아래쪽을 바라보는 전차(아래는 평지이다.) 오른쪽을 바라보는 전차(아래는 평지이다.) */ 스위치 케이스를 사용하면 ..

[java][swea][d3] 1208. Flatten
알고리즘/SWEA 2022. 2. 27. 20:46

문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 /* * 입력 * 1. 10개의 테스트 케이스 * 2. 덤프 횟수 N * 3. 각 상자의 높이값 * 출력 * 1. #tc 최고점과 최저점의 높이 차 * 조건 * 1. 상자의 개수는 항상 100 * * >> 배열에 넣은 뒤 정렬하고 덤프를 끝내면 재정렬 */ 정렬을 사용하면 쉽게 풀리는 문제다 배열의 가장 뒤에 있는 값(제일 큰 값)에서 제일 앞에 있는 값(제일 작은 값)으로 하나씩 옮겨 주면 된다 코드 package com.ssafy.im; import java.io.*; import java.util.*; public class D2_1208_Flat..

[java][swea][d2] 2001. 파리 퇴치
알고리즘/SWEA 2022. 2. 27. 20:44

문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 /* * 입력 * 1. 테스트 케이스 T * 2. 배열의 크기 N 파리채의 크기 M * 3. N줄에 걸쳐 N*N 배열 * 출력 * 1. "#" + tc + " " + ans * * >> for문 돌려서 가장 큰 값 저장하기 */ for문 돌릴 때 N-M만큼 돌려야 배열을 벗어나지 않는다는 것만 알고 있으면 그렇게 어렵지 않다 코드 package com.ssafy.im; import java.io.*; import java.util.*; public class D3_2001_파리퇴치 { public static void main(String[] args)..

[java][swea][d4] 7465. 창용 마을 무리의 개수
알고리즘/SWEA 2022. 2. 22. 21:14

문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 /* * 입력 * 1. 테스트 케이스 T * 2. 마을에 사는 사람 수 N 서로를 알고 있는 사람의 관계 수 M * 3. M개의 줄에 서로를 알고 있는 사람의 번호(양방향) * 출력 * 무리의 개수 * * >> 서로 아는 사람이 연결되어 있으면 한 무리로 계산 * >> dfs 사용 for 돌려서 start 지점 바꾸기 */ 이것도 오늘 올린 다른 두 문제와 비슷하다 중요한 점은 배열을 직접 받는 게 아니라 간선을 받는 거라 양방향으로 꼭 값을 넣어줘야 한다 코드 package com.ssafy.im; import java.util.*; import ja..

[java][swea][d3] 6808. 규영이와 인영이의 카드게임
알고리즘/SWEA 2022. 2. 14. 17:46

문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 /* * 입력 * 1. 테스트 케이스 T * 2. 아홉 개의 정수가 공백으로 구분 >> 규영이가 내는 카드 * 출력 * 1. "#" + tc + " " + win + " " + lose * * >> 높은 수가 적힌 사람이 두 카드에 적힌 수의 합만큼 점수 얻음 * >> 18개의 카드 중 9개를 빼고 남은 9개가 인영이의 카드 * >> 순열로 계산하기 >> 9P9=9! */ 코드 package com.ssafy.im; import java.util.*; import java.io.*; public class D3_6808_규영이와인영이의카드게임 { sta..

[java][swea][d4] 5432. 쇠막대기 자르기
알고리즘/SWEA 2022. 2. 10. 19:37

문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 /* * 1. 첫번째 줄 T 테스트케이스 * 2. 공백없이 괄호 * 3. 괄호 두개째부터 막대 하나씩 생김 * 4. 출력 "#" + tc + " " + result * * >> stack을 사용 * >> (면 쌓기 )면 삭제 * >> stack을 쌓은 다음 ()가 나오면 스택의 크기만큼 쇠막대기 생김 or ))가 나오면 +1개만큼 쇠막대기 생김 */ 코드 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; impor..

[java][swea][d4] 1233. 사칙연산 유효성 검사
알고리즘/SWEA 2022. 2. 10. 13:42

문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 /* * 1. 테스트 케이스는 10개 * 2. 첫 줄에 정점의 총 수 N * 3. 연산이 가능하면 1, 불가능하면 0 * 4. 출력: "#" + tc + " " + result * * >> 서브 트리가 없는데 숫자가 아니면 무조건 불가능 * >> 서브 트리가 있는데 사칙연산이 아니면 무조건 불가능 * >> st 길이 잰 뒤 2번째 문자 보기 >> 유효하지 않은 트리라면 0을 출력한 뒤 남은 식들은 건너뛴다. */ 코드 package com.ssafy.im; import java.io.BufferedReader; import java.io.File; im..

[java][swea][d4] 1224. 계산기3
알고리즘/SWEA 2022. 2. 9. 23:27

문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 /* * 1. 10개의 테스트 케이스 * 2. 첫 줄에 테스트 케이스의 길이 N * 3. 테스트케이스 * 4. 후위 표기식으로 바꿔야 함 >> 스택 사용 * 5. +, *가 나오면 계산하고 아니면 숫자 저장하기 >> switch?? >> if * 6. 괄호가 있으면 ( 스택에 저장한 뒤 )가 뜨면 (가 나올 때까지 pop * 7. 출력: "#" + tc + " " + result; */ 계산기 2에서 괄호만 추가하면 된다 중요한 점은 (는 마지막에 pop으로 없애줘야 하고, 후위식을 계산할 때 N이 아닌 후위식의 length로 for문을 돌려야 한다 코..

[java][swea][d4] 1223. 계산기2
알고리즘/SWEA 2022. 2. 9. 23:25

문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 /* * 1. 10개의 테스트 케이스 * 2. 첫 줄에 테스트 케이스의 길이 N * 3. 테스트케이스 * 4. 후위 표기식으로 바꿔야 함 >> 스택 사용 * 5. +, *가 나오면 계산하고 아니면 숫자 저장하기 >> switch?? >> if * 6. 출력: "#" + tc + " " + result; */ *가 +보다 우선순위가 높기 때문에 (s1.peek() == '*' || s1.peek() == '+')를 써 줬지만 이 문제는 *랑 +밖에 없기 때문에 굳이 쓰지 않아도 답은 맞게 나온다 코드 package com.ssafy.im; import j..

728x90