my study.

java 54

[백준] 10989 수 정렬하기 3, java

10989번: 수 정렬하기 3첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.www.acmicpc.net백준 브론즈1 문제입니다. 최대 10,000,000개의 데이터를 입력받아 정렬하여 출력하는 문제입니다. 데이터의 개수가 많으므로 Scanner를 이용한 입력이 아닌 BufferedReader를 이용한 입력을 받았고, 출력도 StringBuilder를 생성해서 한 번에 하였습니다. 2751번 문제와 똑같은 코드로 해결할 수 있었습니다. import java.io.*;import java.util.*;public class Main { public static void main(Stri..

[백준] 2751 수 정렬하기 2, java

2751번: 수 정렬하기 2첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.www.acmicpc.net백준의 실버5 문제입니다. 이전에 풀었던 2750문제와 내용은 같지만 입력에 주어질 수 있는 수의 범위가 많이 증가했습니다. 그렇기 때문에 이전의 코드로 시도를 해봤지만 시간초과가 나타나게 됩니다. import java.util.*;public class Main { public static void main(String args[]){ Scanner sc = new Scanner(System.in); int n = sc.ne..

[백준] 2750 수 정렬하기, java

2750번: 수 정렬하기첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.www.acmicpc.net백준의 브론즈2 문제입니다. 입력 받은 문자들을 정렬하여 그대로 출력하면 되는 문제입니다. 최대 데이터의 개수가 1000개로 그렇게 크지 않기 때문에 Scanner를 이용하여 입력을 받았고 Arrays.sort()를 이용하여 정렬하여 그대로 출력하였습니다. import java.util.*;public class Main { public static void main(String args[]){ Scanner sc = new Scanner(System.in)..

[백준] 1920 수 찾기, java

1920번: 수 찾기첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들www.acmicpc.net백준의 실버4 문제입니다. 문제 내용은 배열 내에 특정 숫자가 존재하는지 안하는지 판단하는 아주 간단한 문제라 브론즈 문제라고 생각할 수 있지만 그렇지 않은 이유가 있었습니다. import java.util.*;import java.io.*;public class Main { static int N, M; public static void main(String args[]) throws IOExcept..

[Java] java에서 동기, 비동기란 무엇인가?

요즘 자료구조를 공부하는데 계속해서 나타나는 단어가 있습니다. 그게 바로 동기화 라는 단어인데 굉장히 유사한 기능을 가진 두 가지의 자료구조간의 차이점이 무엇인가 라고 찾아보았을 때 동기화 지원여부가 차이점인 경우가 종종 있었습니다. 여기에 포함되는 것이 ArrayList와 Vector, StringBuffer와 StringBuilder, HashMap과 HashTable의 경우가 제가 동기화 라는 단어를 접한 경우입니다. 각각의 차이점이 동기화 지원 여부라는 것은 이해를 하겠는데 그 동기화라는 것이 뭔지에 대해서 확실하게 이해를 하고 있지 않으니 자꾸 찝찝한 기분이 들었습니다. 그래서 정리를 해보려고 글을 써보기 시작했습니다. 일단 동기화를 이해하기 위해서는 쓰레드(Thread)라는 단어를 알아야 합니..

Study/Java 2022.03.23

[Spring] @RequiredArgsConstructor 이란?

@RequiredArgsConstructor 이란 무엇일까? Spring Boot를 이용한 프로젝트를 진행하면서 빈번하게 사용하는 어노테이션 중에 하나인 @RequiredArgsConstructor 가 있습니다. @RequiredArgsConstructor는 Lombok 이라는 java 라이브러리의 어노테이션 중 하나입니다. @RequiredArgsConstructor는 주로 생성자를 이용한 의존성 주입을 할 때 사용하는데 @RequiredArgsConstructor을 사용할 경우 생성자 생성코드를 대신해주어 깔끔한 코드를 작성하는데 도움을 줍니다. Before @Service public class ProductService { private final ProductRepository productRe..

Study/Spring 2022.03.06

[Java] java의 버전에 대해서 생각

저는 프로젝트를 진행 할 때에 막연하게 java 8은 너무 오래 된 버전 같기도 하고 java 버전 중에 LTS 버전이 무언가 좋다고 들은 것 같았기 때문에 java 8 다음의 LTS 버전인 java 11을 사용하고 있었습니다. 그리고 최근 보았던 면접에서 사용하고 있는 java 버전에 대한 질문을 받은 적이 있습니다. 답변은 java 11버전을 사용하고 있다고 하였는데 그렇다면 java 11버전이 되며 바뀐점이나 특징에 대한 연속 질문이 있었고, 제대로 답변을 하지 못한채 면접이 흘러간 경험이 있습니다. 이후 java 버전에 대해서 알아보기 시작했고 그 내용을 제가 알게된 것과 느낀 점을 적어보게 되었습니다. java는 현재 글을 작성하는 2022년 2월 10일 기준 17(LTS) 버전이 나온 상태이며..

Study/Java 2022.02.10

[프로그래머스] 완주하지 못한 선수, java

programmers.co.kr/learn/courses/30/lessons/42576?language=java 코딩테스트 연습 - 완주하지 못한 선수수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수programmers.co.krimport java.util.*;class Solution { public String solution(String[] participant, String[] completion) { ArrayList part = new ArrayList(Arrays.asList(participant)); //A..

[백준] 3052 나머지, java

www.acmicpc.net/problem/3052 3052번: 나머지39, 40, 41, 42, 43, 44, 82, 83, 84, 85를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 모두 6개가 있다.www.acmicpc.netimport java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); //숫자를 입력받기위한 scanner 객체 생성 int[] numbers = new int[10]; //숫자가 10개라고 주어..

[백준] 1546 평균, java

www.acmicpc.net/problem/1546 1546번: 평균첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보www.acmicpc.netimport java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); //scanner 객체를 생성 String countStr = sc.nextLine(); ..