백준

    [백준/10814번] 나이순 정렬 - JAVA[자바]

    www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 이 문제의 조건은 2가지입니다. 1. 나이순으로 오름차순 정렬 2. 나이가 같으면 가입 순으로 오름차순 정렬 (가입일은 입력 순) 저는 각 회원마다 가입 순서를 지정해주고 그것들을 비교해서 입력 순 정렬을 구현하였습니다. (문제를 풀고 생각해보니 나이순으로 정렬을 구현하면 자연스럽게 입력 순으로 정렬이 된다는 걸 깨달았습니다...) 아래는 정답 코드입니다! (보기 전에 다시 한번 생각해보세요!) 더보기 package..

    [백준/1181번] 단어 정렬 - JAVA[자바]

    www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 어제 푼 문제보다 조금 더 난이도가 있는 문제입니다. 그래도 쉬운 문제에 속한다고 생각합니다. 포기하지 말고 답을 보기 전에 조금 더 생각해보시는 걸 추천드립니다!! 이 문제의 조건은 3가지입니다. 1. 길이가 짧은 단어를 오름차순으로 정렬 2. 길이가 같으면 사전 순으로 정렬 3. 중복되는 단어는 1번만 출력 아마도 막힌다면 중복 단어를 제거하는 부분에서 막힐 거라고 생각합니다. 하지만 자바에서는 ..

    [백준/11650번] 좌표 정렬하기 - JAVA[자바]

    www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 이번 정렬 문제는 조금 더 심화된 문제입니다. 정렬 조건 2개를 사용해야 하는 문제이고 2차원 배열도 사용해야하는 문제입니다. 제가 작성한 코드에서는 println()으로 출력하면 시간 초과가 떠서 BufferedWriter를 사용해서 풀었습니다. package baekjoon.level12; import java.io.*; import java.util.A..

    [백준/1427번] 소트인사이드 - JAVA[자바]

    www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 최근 며칠 동안 정렬에 대한 개념이 부족하다고 생각되어서 정렬 문제 위주로 풀고 있는 중입니다. 쉬운 문제부터 풀어나가고 있는데 아직도 조금 헷갈리는 부분들이 있네요 ㅎㅎ.. 이 문제 난이도는 하? 정도라고 생각하고 정렬 인터페이스만 사용할 수 있다면 쉽게 풀 수 있는 문제입니다. 시간과 메모리에 제한이 있기 때문에 스캐너가 아닌 BufferedReader의 사용이 필수인 문제입니다! package baekjoon.level12; import java.io.BufferedReader; import ..

    [백준/1541번] 잃어버린 괄호 [Java]

    https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 설명 ✨ 이 문제의 핵심은 최대한 큰 수를 만들어서 빼는 것이라고 생각했다. (그래야 최솟값을 구할 수 있기 때문에!) 그래서 최대한 많은 수를 +로 묶어주고 빼면 되는 문제이다. split을 이용해서 문자열을 자를 때 split("+")로 입력하면 인식을 못하기 때문에 split("\\+") or split("[+]")로 잘라주어야 함!! 풀이 🎉 import java.util.Sca..