본문 바로가기

Preparing Coding Test114

[Java/프로그래머스/브루트 포스] 카펫 문제 https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 �� programmers.co.kr 코드 전체 격자의 수 = yellow 개수 + brown 개수 yellow의 가로 길이 = 전체 가로 길이 - 2 (좌우가 brown으로 한줄씩 쌓여있기 때문) yellow의 세로 길이 = 전체 세로 길이 - 2 (위 아래가 brown으로 한줄씩 쌓여있기 때문) for문의 i 범위는 3~√all 3 : yellow는 상하좌우 brown으로 한 줄씩.. 2020. 8. 28.
[Java/백준/문자열, 스택] 9935 - 문자열 폭발 문제 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모� www.acmicpc.net 코드 넘 어려웠다.... 결국 내 손으로 풀진 못하고 코드를 이해하는 수준에서 그쳤다ㅠ 스택/큐 문제 위주로 푸는 연습 해봐야 할거 같다 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main.. 2020. 8. 28.
[Java/백준/브루트 포스] 7568 - 덩치 문제 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩� www.acmicpc.net 코드 import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); int[][] people = new int[N][2]; int[] answer = new int[N]; for(in.. 2020. 8. 26.
[자료구조/Java] 해시 테이블 (Hash Table) https://www.youtube.com/watch?v=Vi0hauJemxA&t=4s 검색하고자 하는 key 값을 입력받아 해시 함수를 돌려 반환받은 HashCode를 인덱스로 해서 데이터에 접근하는 방법! (key : 문자열, 숫자, 파일데이터) 암호화폐의 핵심 기술인 블록체인에서도 각 사용자들의 공공장부를 비교할 때도 해시코드를 이용한다. 해시테이블의 장점 검색 속도가 매우 빠르다! O(1) (해시 함수를 통해 만들어낸 해시 코드는 정수이다 → 배열 공간을 고정된 크기만큼 미리 만들어놓고 나눠담는다 해시코드 자체가 배열방의 인덱스로 쓰이기 때문에, 검색을 할 필요가 없고 바로 데이터의 위치에 접근할 수 있다!) 해시테이블의 단점 규칙에 따라 공간 활용이 비효율적으로 될 수 있다(Collision이 .. 2020. 8. 26.
[Java/백준/브루트 포스] 2231 - 분해합 문제 https://www.acmicpc.net/problem/2231 2231번: 분해합 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+ www.acmicpc.net 코드 import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); int decomposition = in.nextInt(); int size = String.valueOf(decomposition).lengt.. 2020. 8. 26.
[Java/백준/브루트 포스] 2798 - 블랙잭 문제 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 �� www.acmicpc.net 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; public class Main{ public static void main(String[] args) throws IOE.. 2020. 8. 26.
[Java/백준/정렬] 2108 - 통계학 문제 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 코드 (틀렸습니다) 예제 테스트케이스는 통과한다. (아마 산술 평균에서 틀린거 같다. 이런 방법이 아니라 반올림을 사용했어야 했다) 최빈값은 -4000~4000 까지 담을 수 있는 int 형 배열을 선언한 뒤 숫자+4000 인덱스에 빈도수를 더하도록 했다. 아래 코드의 arr 배열과 처음 for문을 참고하면 된다. import java.io.BufferedReader; import java.io.IOException; impo.. 2020. 8. 24.
[Java/프로그래머스] H-Index 문제 https://programmers.co.kr/learn/courses/30/lessons/42747# 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 코드 단순 이중 for문 이용 class Solution { public int solution(int[] citations) { int answer = 0; int paper_num = citations.length; for(int i=0; i=i) answer = i; } return answer; } } 정렬이 필요 .. 2020. 8. 23.
[Java/백준/정렬] 2750 - 수 정렬하기 문제 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net O(n^2)으로 풀어도 된다고 하니 맘 편하게 선택 정렬과 버블 정렬을 써볼까 한다. 코드 1 버블 정렬 (시간: 104 ms) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; .. 2020. 8. 20.