본문 바로가기

공부-코딩테스트/Java-코딩테스트-편의기능8

자바 : 해시맵 사용법 해시맵 : 다량의 데이터를 검색하는데 뛰어난 성능을 가진 맵 인터페이스 계열의 대표적인 클래스 키(key)와 값(value)의 쌍으로 이루어짐 key 값은 중복이 되지 않고, value 값은 허용 데이터 입력은 느리지만 검색은 효과적인 자료구조 import java.util.HashMap; HashMap map = new HashMap(); map.put(key,value); map.get(ket); map.getOrDefault(check_input,replace_value);//check_input키값이 존재x -> 대체값으로 리턴 map.keySet()//키 데이터들의 집합, 배열로 사용하려면 .toArray() 오브젝트 배열로 저장 사용한 문제 예시 4358번: 생태학 프로그램은 여러 줄로 이루어.. 2022. 8. 13.
자바 : 우선순위 큐 사용법 자바에서는 Heap을 위한 클래스가 따로 있진 않다. 우선순위 큐를 통해서 Heap기능을 대신할 수 있다. 우선순위 큐 : 우선순위 큐에서, 높은 우선순위를 가진 원소는 낮은 우선순위를 가진 원소보다 먼저 처리되는 Queue 특정조건에 맞게 queue를 배치하여 들어갈 때 우선순위 조건에 맞게 queue가 설정 주어진 원소들 중에서 조건에 맞게 순서대로 뽑아내고자 할 때 사용할 수 있다. 사용 방법 import java.util.PriorityQueue; PriorityQueue Q = new PriorityQueue((e1, e2) -> { //조건 등등 return e1 - e2;//예시 }); 해당 사용방식은 람다식을 사용한 형식으로 아마 코딩테스트를 하면 이런 방법으로 사용하지 않을까 싶다. 객체.. 2022. 8. 13.
자바 리스트 특정 위치에 다른 리스트를 삽입하는 방법 배열.addAll(index,다른 배열); 배열의 index위치에 다른 배열 값들을 끼워 넣는다. 아래는 A.addAll(2,B)일 경우 SWEA의 1228번 문제에서 이용하였다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Solution_SWEA_1228 { public static void main(String[] args) throws Exception { BufferedReader br = new Buff.. 2022. 8. 8.
stream을 사용해서 String배열을 int형배열로 변경하는 법 코드 1. Arrays.stream(배열).mapToInt(Integer::parseInt).toArray() 이때 배열 => string[] 2. 배열.stream().mapToInt(Integer::parseInt).toArray() 한줄에 스페이스로 띄어져있는 int값들을 받을 때 유용하게 사용할 수 있다. mapToInt()안에는 람다식도 사용가능한 것으로 보인다. 하지만 코딩테스트에서 실제로 사용해보면 시간과 메모리가 훨씬 많이 잡아먹혔다. 편의상 사용할지는 몰라도 실제로 사용하지는 말자. 그냥 String배열에 담고 for문으로 하나씩 add하는게 빨랐다. int[] input = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parse.. 2022. 8. 7.
배열값을 특정값으로 채우는 방법 Arrays.fill() 자바로 static 변수를 활용해서 문제를 풀 경우 null과 ''가 output으로 봤을 때 차이가 없는 것에서 문제가 있었다. https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net char[][] 2차원 배열로 ''을 먼저 채워야 했는데 이 과정을 빼고 문제가 생겼었다. 테스트를 할 때 '' 채우는 것을 빼도 결과는 똑같았기 때문에 원인을 알 수 없었는데 아스키코드를 찾아본 결과 다르더라... 이때 간단히 Arrays... 2022. 8. 7.
1225. [S/W 문제해결 기본] 7일차 - 암호생성기 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14uWl6AF0CFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 큐 자료구조를 활용하면 간단히 풀 수 있는 문제 cnt를 반복할 때마다 갱신할 때 (cnt+1)%5을 하고 넣을 때 +1하여 사이클 구분없이 1,2,3,4,5,1,2,3,4,5....식으로 돌게 했다. 만약 해당 과정을 수행할 때 0이하의 수가 발생하게 된다면 사이클을 멈추고 마지막 한번 더 작업을 돌아 완성 코드 class Solution { public static void main(.. 2022. 8. 5.