분류 전체보기 381

[프로그래머스] 신고 결과 받기 - Java

문제 설명 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 풀이 : Success 소스 코드 class Solution { public int[] solution(String[] id_list, String[] report, int k) { // 사용자별 신고당한 건수(Key 사용자, value 신고건수) Map reportedUser = new HashMap(); // 사용자별 신고현황(중복 제거) Set reportSet = new HashSet(Arrays.asList(report)); // 사용..

2022 마스터즈 코스(백엔드) 27일차 회고(2022. 2. 15.) - "시작이 반이다."

해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :) 수강 회고 오늘은 어제에 이어서 클린 코드 관련 미션 과제를 지속적으로 풀이했다. 이때 미션 과제 수행을 위해 내가 작성한 코드를 단위 테스트를 해야 할 필요가 있었는데, 저번 CS10 과정때부터 매번 해야지 해야지 했었던 JUnit5에 대해 학습 했다. 마스터즈 코스 과정을 수행하면서 좋은 점은 이전에 내가 독학할 때 항상 미루어 두었던 학습 내용들을 과제라는 형식으로 요구하고 있기 때문에 어찌됐든 하게 된다는 점이다. 이번에 학습하게 된 JUnit 뿐만 아니라 지난 CS10 과정에서 다루었던 리눅스, 도커 등도 대표적인 사례이다. 이때 내가 느꼈던 점은 학습하기 전에는 어..

Scanner close 반드시 해야할까?

그동안 관습적으로 close를 사용하지 않지 않았었다. 그동안 나는 Java 프로그래밍을 하면서 Scanner(System.in)로 키보드를 통해 사용자로부터 입력 받은 값을 읽어올 때 관습적으로 close를 하지 않는 습관이 있었다. 이때 사용자로부터 입력 받는 값은 Stream을 통해 입력받게 된다. 그런데 이 Stream 인스턴스를 다 사용하고 나서 close하지 않아도 과연 괜찮을까? Java Stream 공식 문서를 살펴보자. 일단 자바 Stream 인터페이스에 대한 공식 문서에서는 Stream에 대해 다음과 같이 언급하고 있다. Streams have BaseStream.close() method and implement AutoCloseable, but nearly all stream ins..

Technology/Java 2022.02.15

[백준 - 2839] 설탕배달 - Java

문제 설명 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이 : Success 소스 코드 import java.util.Scanner; class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(), sugar = N, result; if (N >= 5) { result = N / 5; N %= 5; if (N % 3 == 0) { result += N / 3; } else { w..

Algorithm/BOJ 2022.02.15

[백준 - 2579] 계단 오르기 - Java

문제 설명 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 풀이 : Success 소스 코드 import java.util.Scanner; class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); int[] memo = new int[301]; int[] steps = new int[n + 1]; for (int i = 1; i = 2) memo..

Algorithm/BOJ 2022.02.15