반응형 java116 [Programmers] Lv1: 부족한 금액 계산하기(82612) 문제- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/82612?language=java 풀이더보기더보기class Solution { public long solution(int price, int money, int count) { long answer = -1; long change = money; for (int i = 0; i = 0) { answer = 0; } else { answer = -change; } return answer; }} 2025. 2. 11. [Programmers] Lv1: 숫자 문자열과 영단어(81301) 문제- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/81301?language=java 풀이더보기 2025. 2. 11. [코딩테스트] Java - 동적계획법(Dynamic Programming) 동적계획법- 동적계획법: 작은 부분 문제들을 해결하고 이를 활용하여 전체 문제를 해결하는 방법- 동적계획법의 조건: 최적 부분 구조 + 중복 부분 문제+) 최적 부분 구조: 작은 문제의 해결책의 합으로 큰 문제를 해결할 수 있는 구조+) 중복 부분 문제: 큰 문제를 나누었을 때 작은 문제가 여러 개 반복되는 문제 (동적계획법 풀이법)- 문제를 해결하는 해가 있다고 가정- 종료 조건을 설정- 점화식을 세움 (동적계획법 주요 기법)- 재귀- 반복문: 재귀문 대신 사용- 메모이제이션: 재귀 호출의 횟수를 줄임 (최장 증가 부분 수열)- 부분 수열: 주어진 수열 중 일부를 뽑아 새로 만든 수열. 각각의 원소는 전후 관계를 유지- 최장 증가 부분 수열(Long Increasing Subsequence): 부분 수.. 2025. 2. 11. [코딩테스트] Java - 탐욕법(Greedy) 탐욕법- 탐욕법(greedy): 문제 해결 과정에서 결정 순간마다 눈앞에 보이는 최선의 선택을 하며 선택을 번복하지 않음. 부분적으로 최적해를 구함- 그리디의 최적해 보장 조건: 최적 부분 구조 + 그리디 선택 속성+) 최적 부분 구조(optimal substructure): 부분해를 푸는 과정이 최적해를 구하는 과정과 일치+) 그리디 선택 속성(greedy selection property): 선택 과정이 다른과정에 영향을 주지 않음 (그리디 풀이법)- 지역의 최적해 구하기- 최적 부분 구조를 만족하는지 확인- 그리디 선택 속성을 만족하는지 확인 (최소 신장 트리)- 신장 트리(spanning tree): 모든 정점이 간선으로 연결되어 있고 간선 개수가 정점 개수보다 하나 적은 그래프- 최소 신장 트리.. 2025. 2. 11. [코딩테스트] Java - 시뮬레이션 시뮬레이션- 시뮬레이션: 문제에서 주어진 상황을 이해하고 이를 코드로 구현하는 과정. 구현에 중점 (시뮬레이션 풀이법)- 하나의 문제를 여러개로 분리- 예외처리시 독립함수로 구현 (시뮬레이션 주요 기법)- 행렬 연산: 덧셈, 뺄셈, 곱셈- 전치행렬- 좌표 연산: 2차원 행렬 사용. 방향 벡터(offset 사용)- 대칭연산: 좌우대칭, 상하대칭- 회전연산(90도): 시계방향, 반시계방향 예제(배열 뒤집기)- 좌우 뒤집기: A[i][j] = A[i][(N-1)-j]- 상하 뒤집기: A[i][j] = A[(N-1)-i][j] - 입력: arr(2차원 배열)- 출력: 2차원 배열더보기class Solution { private static int[][] solution(int[][] arr, int n) .. 2025. 2. 11. [Programmers] Lv1: 약수의 개수와 덧셈(77884) 문제- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/77884?language=java 풀이더보기 2025. 2. 11. [Programmers] Lv1: 로또의 최고 순위와 최저 순위(77484) 문제- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/77484?language=java 풀이더보기class Solution { public int[] solution(int[] lottos, int[] win_nums) { int zero = 0; int matched = 0; for (int l : lottos) { if (l == 0) zero++; else { for (int w : win_nums) { if (l == w) { match.. 2025. 2. 11. [Programmers] Lv1: 음양 더하기(76501) 문제- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/76501?language=java 풀이더보기class Solution { public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for (int i = 0; i 2025. 2. 11. [Programmers] Lv1: 신규 아이디 추천(72410) 문제- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/72410?language=java 풀이더보기 2025. 2. 11. [Programmers] Lv1: 내적(70128) 문제- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/70128?language=java 풀이더보기더보기class Solution { public int solution(int[] a, int[] b) { int answer = 0; for (int i = 0; i 2025. 2. 11. 이전 1 2 3 4 5 6 7 8 ··· 12 다음 반응형