일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스터디
- 딥러닝
- 깃 터미널 연동
- 모두의네트워크
- 깃허브 토큰 인증
- 데베
- 자바
- 모두를위한딥러닝
- 백준
- 팀플회고
- SQL
- 네트워크
- 리액트 네이티브 시작하기
- React Native
- 리액트 네이티브 프로젝트 생성
- 백준 4358번
- 깃허브 로그인
- 백준 5525번
- HTTP
- 백준 4949번
- 지네릭스
- 모두를 위한 딥러닝
- 데이터베이스
- 정리
- 모두의 네트워크
- 머신러닝
- 문자열
- 백준 4358 자바
- 리액트 네이티브
- 깃 연동
- Today
- Total
목록Algorithm/백준 (26)
솜이의 데브로그

https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 문제 풀이 완전탐색 문제로, 채널의 최대값을 설정하고 모두 다 검색해보면서 고장나지 않은 번호들로부터 얼마나 이동해야하는지 최소 회수를 비교한다. 비교는 Math.abs와 Math.min 함수를 이용한다. 코드 import java.io.*; import java.util.StringTokenizer; public class BOJ_1107 { static boolean[] bro..

https://www.acmicpc.net/problem/2448 2448번: 별 찍기 - 11 첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수) www.acmicpc.net 문제 높이 N이 주어질 때 위 모양 만들기 풀이 재귀적으로 파악하여 높이 N이 들어왔을 때 N-2 의 높이만큼 삼각형이 반복되는것을 확인한다. 전체 삼각형의 넓이는 2*N-1 이고, 이 역시 재귀적으로 N/2 씩 하며 삼각형이 생기는 것을 파악한다. 마지막으로 이 재귀함수가 언제 종료되는지 확인한다. 높이가 3일때가 가장 작은 삼각형이므로, 이 때 별을 찍고 재귀적으로 호출하는 것을 종료한다. 참고로 System.out.print 를 썼을 때 자꾸 ..

https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 문제 풀이 투포인터 형식의 문제이다. 입력받은 배열을 오름차순으로 정렬하고, 포인터를 한쪽은 맨 앞, 다른 한쪽은 맨 뒤에 두면서 합해가며 타겟 넘버를 맞추어가는 형식이다. 맞으면 answer++ 하는 방식으로 풀이한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*;..

https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 풀이 https://lotuslee.tistory.com/113?category=848933 [백준 2293번] 동전 1 (java) 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 합이.. lotu..

https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 문제 풀이 DFS로 탐색해나가며 주변 영역과 같은지 체크하는 문제이다. 적록색약이 아닌 사람 기준은 일반 DFS 문제로 풀면 되고, 적록색약인 경우 조건을 걸어 빨간색과 초록색을 동일하게 구분하여 영역을 카운트하도록 작성한다. 코드 import java.io.*; import java.util.*; public class BOJ_10026 { static int N; static char[..

https://www.acmicpc.net/problem/12931 12931번: 두 배 더하기 모든 값이 0으로 채워져 있는 길이가 N인 배열 A가 있다. 영선이는 다음과 같은 두 연산을 수행할 수 있다. 배열에 있는 값 하나를 1 증가시킨다. 배열에 있는 모든 값을 두 배 시킨다. 배열 B가 주 www.acmicpc.net 문제 풀이 이진수로 생각해서 풀어야 하는 풀이이다. 해당 숫자를 이진수로 변경하여 생각하면 *2 를 한느 경우는 이진수 자체를 < 연산하여 왼쪽으로 한칸 씩 옮기고 가장 오른쪽 자리에 0을 추가하는 것이고, +1 을 하는 경우에는 이진수 가장 오른쪽 자리를 1 올리는 것이다. 따라서 +1 한 횟수는 이진수의 1의 개수이고 *2 한 횟수는 이진수 길이 -1 이다. 전체 연산의 수는 ..

https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 문제 풀이 Stack을 사용해서 푸는 문제이다. 입력받은 배열에서 순서대로, 스택의 top에 위치하는 수보다 더 작으면 stack에 인덱스를 넣고, 더 큰 경우 해당하는 인덱스의 배열보다 큰 가장 왼쪽의 수이므로 배열에 바로 입력한다. 이해하고나면 쉬운데, 스택의 특징을 잘 생각해서 for 문을 두번 돌지 않도록 효율적으로 떠올릴 수 있는지를 생각해내야하는 문제이다. 코드 import java.io.*; i..

https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 문제 풀이 익은 토마토를 배열에 입력하면서, 큐에 동시에 집어넣는다. BFS 함수를 호출하면서 큐에서 토마토들을 꺼내며 x, y 축으로 하나씩 이동하여 익은토마토인지 아닌지 확인하며 날짜를 더해나간다. 만약에 이미 익었으면 따로 체크하지 않고, 토마토가 0 즉 익지 않은 경우에만 그 옆의 토마토가 익은 날짜에 +1 을 한다. 마지막으로 모든 배열을 돌아가면서 확인하여 토마토가 최종..