https://aliencoder.tistory.com/m/148 스택 자료구조를 이해하고 푸는 문제이다.스택 자료구조를 직접 구현해서 그에 맞는 메소드를 호출해 사용하라고 이해하였다.그리하여 챗gpt의 도움을 좀 받아 아래와 같이 스택을 구현하고, 입력받은 숫자 및 메소드 대로 출력하는 로직을 구현했다.내가 만든 MadeStack 클래스는 static으로 만들었다.Stack 클래스를 호출해 만들어도 되었을 텐데.. 추가구현코드에서 확인하자1) 내가 구현한 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedRea..
코딩테스트준비
https://www.acmicpc.net/problem/7785 ** 2주차 특강 강의자료 (feat. 해시) **해시 자료구조에 대해 더 자세히 알 수 있었다!https://dong-chan.com/codingtest-hash/#3-division-method JAVA Coding Test HashHash 데이터를 효율적으로 저장하고 검색하기 위해 사용되는 알고리즘. Java에서 해시는 , , 과 같은 자료구조에서 많이 활용함. 해시 알고리즘을 사용하려면 먼저 데이터의 해시 값을 계산해야 하dong-chan.com 1) 내가 구현한 코드import java.util.*;import java.io.*;public class p7785_회사에있는사람 { public static void main..
https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1) 내가 구현한 코드처음에는 제시된 데이터가 둘 다 배열이니 배열끼리 비교하면 되겠다 생각했다.그러나 효율적이지 못할거라는 생각과, 동명이인은 어떻게 처리해야할지 모르겠다는 생각이 들었다.최종 내린 결론은 해시맵에 선수들의 이름을 키로 담고, 밸류에는 참가자들이면 카운드 1 더해주고, 또 완주했을경우 카운드 1을 더해주기로 한다. 이렇게 될 경우최종 완주한 선수들은 짝수 : 2, 4, 6, ... (2 이상은 동명이인)완주하지 못한 선수들은 홀..
https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1) 내가 구현한 코드import java.util.*;import java.util.stream.*;class Solution { public int solution(int[] nums) { int getNum = nums.length/2; //가질 포켓몬수 //Set set = new HashSet(); //for(int num:nums) set.add(num); ..
https://www.acmicpc.net/problem/9933 StringBuilder에 대해 모르는 부분이 많아 정리해보았다.StringBuilderJava에서 String을 수정할 수 있는 가변 클래스String은 불변(immutable) 객체이므로 한번 생성된 문자열을 직접 변경할 수 없는데, StringBuilder는 메모리 낭비 없이 문자열을 수정할 수 있는 기능을 제공StringBuilder는 문자열을 빈번하게 수정하는 경우 유리특히 반복문에서 문자열을 계속 추가, 수정할 때 효율적String과 달리 StringBuilder는 mutable 하여 문자열의 변경이 가능함동기화가 되어 있지 않으므로(Thread-safe하지 않음) 멀티스레드 환경에서 사용하려면 StringBuffer를 사용..
https://www.acmicpc.net/problem/25593 해시를 공부하면서 유용했던 메소드들을 이곳에 다시 재정리해본다.Map.put(K key, V value) : 키와 값 추가Map.putIfAbsent(K key, V value) : 특정 키가 없을 때만 키와 값을 추가 Map.get(Object key) : 키값 1개 반환Map.getOrDefault(Object key, V defaultValue): 특정 키가 없을 때 기본값 반환 Map.keySet() : 모든 키를 Set 형태로 반환 => for(String key:map.keySet()){}Map.values() : 모든 값을 Collection 형태로 반환 =>for(String value:map.values()){}Map...
https://www.acmicpc.net/problem/31562어제는 백준에서 한 줄에 공백으로 구분되어 입력받은 값을 String.split()를 이용해 배열에 저장했다.String[] morseCode = br.readLine().split(" ");오늘은 공백으로 구분된 입력값을 StringTokenizer.nextToken()를 이용해 저장해 사용해보겠다.StringTokenizer st = new StringTokenizer(br.readLine());int T = Integer.parseInt(st.nextToken()); 1) 내가 구현한 코드import java.util.*;import java.io.*;public class Main { public static void mai..
https://www.acmicpc.net/problem/27160 1) 내가 구현한 코드과일의 종류 상관없이 입력받은 과일만큼 과일의 갯수가 업데이트 되도록 구현함import java.util.*;import java.lang.*;import java.io.*;class Main { public static void main(String[] args) throws Exception{ // List temp = List.of("123", "123123"); // System.out.println(temp); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..