| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 프로그래머스
- 티스토리챌린지
- Java
- 개발자루틴
- 코딩테스트사이트추천
- 개발자취업
- 자바스크립트
- 항해99
- 코딩테스트
- 1일1코테
- 연결 리스트
- 웹
- 프로그래밍 언어
- 갭체크
- 플로이드-워셜
- 데이터베이스
- 코테공부
- 코딩테스트준비
- 코드트리
- 오블완
- 알고리즘
- C
- 운영체제
- 파이썬
- #코드트리 #코딩테스트 #코테공부 #백트래킹 #알고리즘 기초
- til
- 자바
- 인접 행렬
- 99클럽
- 자료구조
- Today
- Total
목록til (34)
와드의 블로그
미들러문제17825번: 주사위 윷놀이# 완전탐색https://www.acmicpc.net/problem/17825풀이주사위 윷놀이를 진행할 때 주사위에서 나올 수 10개가 주어졌을 때 점수의 최댓값을 구하는 문제이다.우선 게임판의 각 칸에 0부터 32까지 번호를 붙이고 인접리스트로 표현한다.그 후 완전탐색을 진행하여 점수를 계산한 후 최댓값을 구한다.4개의 말의 위치를 배열에 저장하고 현재 시점의 주사위 눈에 따라 특정 말을 이동시킨다.이동한 위치에 말이 이미 있다면 이동이 불가하므로 이를 체크해줘야 한다.코드import java.util.*;import java.io.*;public class Main { static int[] a, s, b; static int ans; static ArrayList..
미들러문제개인정보 수집 유효기간#문자열https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이개인정보 수집 일자와 오늘 날짜가 주어졌을 때 약관에 따라 폐기되어야 하는 개인정보를 반환하는 문제이다.약관 종류에 따라 유효기간이 정해지므로 이를 맵으로 관리한다.개인정보 수집일자에 유효기간을 더했을 때 오늘날짜보다 이전이라면 해당 개인정보는 폐기해야한다.코드import java.util.*;class Solution { HashMap mp = new HashMap(); boolean..
미들러문제11054번: 가장 긴 바이토닉 부분 수열#동적계획법https://www.acmicpc.net/problem/11054풀이n개의 수로 이루어진 수열이 주어졌을 때 가장 긴 바이토닉 수열의 길이를 구하는 문제이다.바이토닉 수열은 특정 수를 기점으로 증가하는 부분 수열과 감소하는 부분 수열의 길이의 합이다.배열에 증가하는 부분 수열의 길이와 감소하는 부분 수열의 길이를 저장한다.1부터 n까지 요소를 탐색하며 바이토닉 수열의 길이의 최댓값을 구한다.코드import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new ..
미들러문제2631번: 줄세우기#동적계획법https://www.acmicpc.net/problem/2631풀이n명의 아이들의 번호가 주어졌을 때 번호순으로 아이들을 배치하기 위해 옮겨지는 아이의 최소 수를 구하는 문제이다.옮겨지는 아이들의 수를 최소로 하려면 그대로 있는 아이들의 수를 최대로 하면 된다.즉 이미 오름차순으로 서있는 아이들의 수의 최댓값을 구한 후 n에서 빼주면 된다.이는 가장 긴 증가하는 부분 수열을 구하는 것이기 때문에 동적계획법으로 간단히 구할 수 있다.코드import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReade..
미들러문제1965번: 상자넣기#동적계획법https://www.acmicpc.net/problem/1965풀이상자가 일렬로 늘어서 있을 때 큰 상자에 작은 상자를 넣을 때 한 번에 넣을 수 있는 상자의 최대 개수를 구하는 문제이다.동적계획법을 사용하여 문제를 해결한다.배열 d에 해당 요소를 포함한 상자의 최대 개수를 저장한다.i번째 요소를 포함한 상자의 최대 개수는 이전에 나온 상자의 개수 중 최댓값 + 1이다. (a[j] 배열 d를 완성한 후 배열의 요소 중 최댓값을 출력한다.코드import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedRe..
비기너문제2231. Largest Number After Digit Swaps by Parity#정렬https://leetcode.com/problems/largest-number-after-digit-swaps-by-parity/description/풀이주어진 정수에서 짝수는 짝수끼리 홀수는 홀수끼리 자리를 바꿔서 최대가 되도록 하는 문제이다.수를 자리수별로 나누어 배열에 저장한 뒤 짝 홀을 구분하여 정렬하면 된다.수의 자릿수가 10이하이므로 어떤 정렬 알고리즘을 사용해도 상관없으므로 선택 정렬을 사용하였다.코드import java.util.*;class Solution { public int largestInteger(int num) { int[] a = new int[(num + ..
비기너문제506. Relative Ranks#정렬 #맵https://leetcode.com/problems/relative-ranks/description/풀이운동선수의 점수가 주어졌을 때 운동선수의 등수를 구하는 문제이다.등수를 구하기 위해 점수를 정렬한다.정렬을 하면 원본 배열이 변하므로 원본 배열은 복사해서 유지시켜 놓는다.점수를 등수와 매핑시키기 위해 맵에 저장한다.1, 2, 3등은 각각 등수 대신 Gold Medal, Silver Medal, Bronze Medal로 표현해야 한다.원본 배열에서 주어진 점수대로 등수를 구하여 반환한다.코드import java.util.*;class Solution { public String[] findRelativeRanks(int[] score) { ..
비기너문제11557번: Yangjojan of The Year# 정렬https://www.acmicpc.net/problem/11557풀이학교 별로 술 소비량이 주어질 때 술 소비량이 최대인 학교를 구하는 문제이다.School 객체를 만들어서 학교 이름과 술 소비량을 저장한다.School 배열에 주어진 값들을 저장하고 이를 술 소비량을 기준으로 정렬한다.술 소비량이 가장 많은 학교의 이름을 출력한다.코드import java.util.*;import java.io.*;class School { int l; String s; public School(String s, int l) { this.s = s; this.l = l; }}public class Main { public static void mai..
비기너문제11004번: K번째 수# 정렬https://www.acmicpc.net/problem/11004풀이배열을 오름차순으로 정렬했을 때 k번째 수를 출력하는 문제이다.배열을 정렬한뒤 k - 1번째 인덱스의 값을 출력하면 된다.코드import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));..
비기너문제더 맵게# 우선순위 큐https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr풀이음식의 스코빌 지수가 주어졌을 때 가장 맵지 않은 두 음식을 섞는 시행을 여러 번 반복하여 스코빌 지수를 k 이상 되도록 만들 때 섞는 최소 횟수를 구하는 문제이다.매 시행마다 스코빌 지수가 가장 작은 요소를 뽑아내야 하므로 우선순위 큐로 최소힙을 구현하여 음식들을 큐에 넣는다.매 시행마다 우선순위 큐에서 두 음식을 꺼내서 스코빌 지수를 합한 뒤 다시 우선순위 큐에 넣는다.스코빌 지수가 k 이상이라면 정답을 리..