www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 풀이 1) 결과값을 담을 StringBuffer sb 와 뒤집을 문자열을 담을 StringBuffer temp 생성 2) 입력값의 크기만큼 반복문을 돌거임 2-1) '' 가 나올 때까지 sb에 넣음 2-2) ' ' (공백)이 나오면 쌓아둔 temp를 거꾸로 sb에 넣고 ' ' (공백)을 sb에 넣음 2-3) 그 외엔 temp에 넣음 3) 반복이 끝났는데 temp에 값이 있다면 t..
www.acmicpc.net/problem/16197 16197번: 두 동전 N×M 크기의 보드와 4개의 버튼으로 이루어진 게임이 있다. 보드는 1×1크기의 정사각형 칸으로 나누어져 있고, 각각의 칸은 비어있거나, 벽이다. 두 개의 빈 칸에는 동전이 하나씩 놓여져 있고, www.acmicpc.net 풀이 1) 맵을 만들때 동전의 좌표를 저장해 둔다. 2) dfs를 돌린다. 파라미터는 동전1의 좌표 (r1,c1) , 동전2의 좌표 (r2,c2) , depth 2-1) 탈출조건1 : depth가 10보다 클때 return 2-2) 탈출조건2 : 두 개의 동전이 동시에 밖으로 나갔을 때 return 2-3) 탈출조건3 : 한 개의 동전만 나갔을 경우. min을 갱신 한 후 return; 3) 재귀 부분 3-1..
www.acmicpc.net/problem/14225 14225번: 부분수열의 합 수열 S가 주어졌을 때, 수열 S의 부분 수열의 합으로 나올 수 없는 가장 작은 자연수를 구하는 프로그램을 작성하시오. 예를 들어, S = [5, 1, 2]인 경우에 1, 2, 3(=1+2), 5, 6(=1+5), 7(=2+5), 8(=1+2+5)을 만들 www.acmicpc.net 풀이 1) 부분집합을 구함 2) check[부분집합의 합] = true 3) 부르는 값이 true 인지 확인 주의사항 1) S의 원소의 최댓값이 100000이고 N의 최댓값이 20이므로 100000 * 20 만큼의 공간이 필요하다. package com.baekJoon; import java.io.BufferedReader; import jav..
www.acmicpc.net/problem/9944 9944번: NxM 보드 완주하기 N×M 보드 위에서 할 수 있는 게임이 있다. 보드는 크기가 1×1인 정사각형 칸으로 나누어져 있다. 보드의 각 칸은 빈 칸 또는 장애물이다. 장애물은 아래 그림에선 어두운 사각형으로 표시되어져 www.acmicpc.net 풀이 1) 이 문제는 테스트케이스의 수가 정해져 있지 않다. while문으로 조건 만족시 계속 돌아가는식으로 짠다. 2) 입력값을 담을 char map[][], 방문체크용 boolean isVisited[][], 최종 결과값 min 생성 3) map에 입력값을 담음. 여기서 '.' 의 개수를 미리 points 변수에 저장 3) map을 탐색하면서 '.' 이 나오면 방향별로 한번씩 dfs를 4번 돌림...
www.acmicpc.net/problem/8982 8982번: 수족관 1 입력의 첫 줄은 수족관의 경계에 있는 꼭짓점의 개수 N(1 ≤ N ≤ 5,000)이 주어진다. N은 짝수이다. 수족관의 경계는 항상 꼭짓점 (0, 0)부터 시작한다. 그리고 마지막 꼭짓점은 (A, 0)의 형태로 끝난 www.acmicpc.net 풀이 1) N개의 수족관의 경계를 리스트에 담음. 담을때 수족관의 최대 너비(len)를 구해놓음 2) len 길이만큼의 1차원 배열 2개 생성. aquarium[], drainedWater[] 3) list를 탐색하면서 aquarium에 수족관의 깊이를 저장. 4) K 길이의 배열 생성. hole[] 5) hole에 입력값의 첫번째 숫자를 담음 6-1) hole의 갯수만큼 반복문을 돈다 6..
www.acmicpc.net/problem/2422 2422번: 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 첫째 줄에 정수 N과 M이 주어진다. N은 아이스크림 종류의 수이고, M은 섞어먹으면 안 되는 조합의 개수이다. 아래 M개의 줄에는 섞어먹으면 안 되는 조합의 번호가 주어진다. 같은 조합은 두 번 www.acmicpc.net 풀이 1) 그래프 문제를 풀때와 같이 인접행렬 map[][] 을 만든다. 2) 3중 포문으로 한방에 검사한다. 2-1) 1부터 N까지 숫자를 선택한다. -> i 2-2) i부터 N까지 숫자를 선택한다. -> j 2-3) map[i][j] = false면 j부터 N까지 숫자를 선택한다. -> k 2-4) map[i][k] = false && map[j][k] = false 이..
www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 풀이 1) 가지고 있는 랜선을 배열에 담음(long) 2) 0~Long.Max_Value의 범위에서 이분탐색으로 가장 최적의 해를 찾을거임 2-1) 배열의 원소들을 이분탐색으로 나온 값으로 나눈 몫을 더해서 2-2) K보다 크면 left를 바꾸고 작으면 right를 바꿈. 2-3) 조건에 맞는 최댓값을 갱신해나감 3) 출력 주의사항 1) 그리디 아님 package com.baekJo..
www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 풀이 1) 스위치는 배열에 학생의 정보는 큐에 담는다 2) 큐를 하나씩 빼내면서 배열값 갱신 2-1) 남학생일 경우 : 뽑은 값의 배수는 전부 반전 2-2) 여학생일 경우 : 양쪽으로 검사해서 같으면 반전 후 이어나감 아니면 끝 3) 20개씩 출력 주의사항 1) 20개씩 출력해야함 package com.baekJoon; import java.io.BufferedReader; import java.io.IO..
- Total
- Today
- Yesterday
- PriorityQueue
- SWEA
- 시뮬레이션
- 백준
- 객체지향
- 그리디
- 백트래킹
- java
- Spring
- G5
- 다익스트라
- 알고리즘
- Spring Boot
- react
- DFS
- BFS
- 리액트
- 문자열
- 자바
- S2
- 코딩새내기
- 구현
- react native
- 현꾸라지
- 우선순위큐
- g4
- S3
- map
- 리액트 네이티브
- laugh4mile
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |