본문 바로가기

CODING119

[Programmers] 숫자 문자열과 영단어 https://programmers.co.kr/learn/courses/30/lessons/81301?language=java 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zero.. 2022. 6. 8.
[Programmers] 로또의 최고 순위와 최저 순위 https://programmers.co.kr/learn/courses/30/lessons/77484?language=java 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 문제 설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(.. 2022. 6. 8.
[SWEA] 1954. 달팽이 숫자 import java.util.Scanner; public class Solution { static int n; static int arr[][]; static int dx[] = {0,1,0,-1}; static int dy[] = {1,0,-1,0}; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int TC = sc.nextInt(); for(int tc=0 ;tc 2022. 5. 29.
[BAEKJOON] 2468번 안전 영역 높이가 1인 지역부터 최대 높이까지 잠기지 않는 안전 영역의 최대 갯수를 구하는 문제이다. 잠기지 않는 영역은 어떻게 구할까? 전체 구역을 돌면서 잠기지 않는 영역의 지점을 찾으면 BFS/DFS로 해당 지역을 방문처리 하면 된다. 1. 높이가 1일 때부터 최대 높이까지 반복 2. 전체 구역을 돌면서 안전 구역을 발견하면 BFS 탐색 시작 3. 해당 높이에서의 BFS 호출 횟수만큼 cnt++ 4. 해당 높이에서의 탐색 종료되면 최대 cnt 값 출력 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; .. 2022. 5. 26.
[BAEKJOON] 2579번 계단 오르기 이 문제는 첫 번째 계단을 밟는 것을 시작으로 한 칸 혹은 두 칸씩 계단을 오를 수 있다. 단, 첫 번째 계단을 꼭 밟아야 하고, 연속으로 한 칸씩 세 번 반복할 수는 없다. 즉, 한 칸을 오른 다음 한 칸, 그 다음 두 칸 오르기만 가능하다. 따라서 첫 번째 계단을 오르는 최대 점수는 첫 번째 계단의 가중치인 10점이고, 두 번째 계단을 오르는 최대 점수는 첫 번째 계단을 오른 후에 (첫 번째 계단 10 + 두 번째 계단 20으로 총 30점)이과 바로 두 번째 계단으로 오르는 20점 중 더 높은 점수인 30점 방식으로 계단을 오른다. 세 번째 계단을 오를 때는 1. 첫 번째 계단 → 세 번째 계단 ▶ 10 + 20 + 15 = 25 2. 두 번째 계단 → 세 번째 계단 ▶ 20 + 15 = 35 위 두.. 2022. 4. 24.
[BAEKJOON] 2805번 나무 자르기 상근이가 필요한 나무의 길이 m을 구할 때까지 절단기의 길이를 늘리거나 줄이는 과정을 반복하여 최대 절단기의 길이를 구하는 문제이다. 절단기의 최소 길이는 0, 최대 길이는 주어진 나무의 최대 길이와 같을 것이다. (필요한 나무 길이가 주어진 나무의 최대 길이라면 굳이 자를 필요없이 절단기의 길이는 0일 것이고, 필요한 나무 길이가 0일 경우 절단기의 길이는 곧 주어진 나무의 최대 길이가 될 것이기 때문!) 따라서 절단기의 최소 길이 0부터 최대 길이까지 가능한 최대의 절단기 길이를 구한다. 절단기의 길이를 0, 1, 2, ... 최대길이까지 반복하기엔 시간과 메모리 초과에 발이 묶일 것이다. 정렬된 상태에서 특정 값을 빠르게 찾기 위해서는 이분 탐색 방법을 사용한다. 위의 그림을 보면 임의로 절단기의 .. 2022. 4. 2.