프로그래밍-학습기록/코딩테스트 35

백준 온라인 저지 | 2439 | 별 찍기 - 2

입력 숫자에 따라 오른쪽으로 정렬된 별(*)을 순차적으로 증가시키며 출력해야 한다. for문 안에 두 개의 for문이 들어간다. 하나는 공백을 찍어내고, 하나는 별표를 찍어낸다. 공백을 찍어낼 때 조건을 초기값이 (입력숫자 - i - 1)보다 작도록 해주는 것이 핵심이다. import java.util.Scanner; public class Bj_2439 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); for(int i=0; i

백준 온라인 저지 | 15552 | 빠른 A+B

백준 온라인 저지 중에 빠른 A+B 라는 문제에서 막혔다. BufferedReader 와 BufferedWriter라는 것을 처음 들어봤다! 버퍼를 이용한 입출력은 자바에서 많이 사용되는 스캐너와 System.out.println에 비해 빠르다! 버퍼를 이용한 입출력이 스캐너와 println과 다른 점은 입력할 때 오직 Enter로만 경계로 인식하고 받은 데이터의 형이 String으로 고정된다는 것이다. 입력된 데이터를 읽어들일 때는 readLine() 메서드를 사용하는데, 데이터를 '한 줄'씩 읽어들인다! 그리고 String형이니 공백을 따로 제거하는 데이터 가공 과정이 필요하다. 그리고 출력 시 BufferedWriter를 사용하게 되면, flush()와 close() 메서드를 통해 버퍼 쓰기를 닫아..

프로그래머스 | 코딩테스트 연습 | 탐욕법 | 체육복

문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를..

프로그래머스 | 코딩테스트 연습 | 완전탐색 | 모의고사

문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..

프로그래머스 | 코딩테스트 연습 | 해시 | 완주하지 못한 선수

해시는 Key-Value 쌍으로 데이터를 저장하는 자료구조입니다. 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 parti..