일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 알고리즘
- 백준
- SW역량평가
- professional
- swea
- 순열
- 트리의지름
- 중복순열
- 코딩테스트
- 실버1
- SW역량테스트
- BFS
- 백엔드
- Spring
- 골드5
- 최단경로
- 골드3
- 1251
- 최소신장트리
- Framework
- Floyd
- 최단경로탐색
- BOJ
- 완전탐색
- D4
- backend
- java
- 스프링
- 그래프
- dp
- Today
- Total
목록분류 전체보기 (58)
공부 기록장

이 문제는 백준에 있는 SILVER 3 단계 문제이다. 이 문제는 주어진 배열을 돌리면 되는 문제인데, 예제를 참고하면 더 쉽게 이해할 수 있다. 배열의 크기인 N과 M이 주어지고 몇 번 돌리면 되는지가 주어진 후에 배열의 모양이 주어진다. 1 1 1 1 1 2 2 1 1 2 2 1 1 1 1 1 1번은 1번끼리, 2번은 2번끼리 돌아간다고 생각하면 된다. 이 문제에서는 while문 돌리기가 핵심이었다. 아래, 왼쪽, 위, 오른쪽 순서대로 for문을 돌려 인덱스를 계산 해 주었다. idx는 행의 번호를 뜻하는데 제한 조건에서 N과 M 중 작은것은 무조건 짝수라고 했으므로 N과 M중 작은 수의 반까지만 가게 설정해 주었다. 만약 0행부터 3행까지 있다면 0행-3행, 1행-2행은 같이 움직이기 때문에 idx..

이 문제는 SILVER 1 단계의 백준 문제이다. 입력으로는 N개의 재료와, 각각의 재료에 대해 신맛과 쓴맛이 주어진다. N개의 재료 중 하나 이상의 재료를 이용해 선택된 재료의 신맛끼리 곱한 값과 쓴맛끼리 더한 값의 차이가 가장 적은 음식을 만들어야 한다. 이 문제에서 핵심 코드는 재료의 맛을 계산해 주는 함수인데, 재귀를 이용해서 짰다. N개의 재료를 가지고 부분집합을 만들어서 모든 부분집합에 대해 신맛과 쓴맛의 차이를 구해주었다. check 배열을 이용해 cnt번째 원소가 부분집합에 들어간다면 true, 들어가지 않는다면 false를 넣어주었다. cnt 가 재료의 갯수와 같아지면 check 배열 중 true 인 원소끼리 계산 해 값을 구하고, 그 중 가장 작은 값을 ans에 넣어 주었다.문제에서 주..