[프로그래머스] 신고 결과 받기 - 자바
·
TIL/알고리즘
문제 설명 제한사항입출력 예 문제 분석신고 내용을 저장하는 해시 맵과 신고 내용을 바탕으로 각 사용자에게 몇 번 메일이 가야하는지 값을 저장하는 해시맵 2가지를 활용해서 풀 수 있을 것 같다.동일한 신고 내용은 1번만 저장할 수 있다는 점에 유의해야 한다신고 내용을 저장하는 해시 맵에 대해서 먼저 생각해보자신고 내용에 대한 핵심은 특정 인물이 몇번 신고를 받았는가? 와 해당 인물을 누가 신고했는가? 이다.따라서 해시 맵의 키를 신고 받은 사람의 이름, 해시 맵의 밸류를 신고 한 사람들을 저장하는 해시셋으로 설정하면 좋을 것 같다셋을 활용하는 이유는 한 인물에 대해서 한 사람이 한 번만 신고할 수 있기 때문이다이 규칙에 따라서 입출력 예시를 해시맵으로 정리했을 때 다음과 같다// 입출력 1번의 report..
[프로그래머스] 기능 개발
·
TIL/알고리즘
문제 분석큐를 활용해서 큐 내부에 있는 원소들이 기준을 충족하는지 확인하고, 원소를 알맞게 제거할 수 있는지풀이첫번째 풀이 - 모든 날짜를 반복 ( 완전 탐색..? )배포가 될 수 있는지 확인하는 기준은 다음과 같다작업진도(progress) + 작업속도(speed) * 날짜(day) >= 100정말 문제의 과정을 시뮬레이션 하듯 로직을 짤 수 있다큐에 작업 진도와 작업 속도 모두 넣는다날짜를 선언해서 매일 배포가 가능한 기능을 모두 배포한다day = 1;while ( 큐가 비어있지 않은 동안 ) { count = 0 ; while ( 큐가 비어있지 않다 && 큐의 피크 원소가 배포가 가능하다면 ){ 큐에서 원소 뺴내기 count++; } // 이 과정을 통해 당일..
[Java] 날짜와 시간 데이터 다루기
·
TIL/Java
.
[Java] 열거형 - enum
·
TIL/Java
열거형이 왜 생겼을까?열거형이 무엇인지보다 열거형이 생겨난 흐름에 대해서 알아보도록 하겠다 자바를 통해 애플리케이션을 작성할 때, 모든 데이터를 숫자를 통해서만 관리할 수는 없다. int형 long형 때로는 문자열을 통해서 데이터를 받고, 조작해야 한다. 예를 들어 자바를 통해 주유소 기계를 만든다고 생각해보자요구사항기름은 3가지를 선택할 수 있으며, 기름별로 요금이 다르다.경유  -> 1L : 1000휘발유 -> 1L : 2000고급유 -> 1L : 3000주유 받을 기름을 선택하고, 몇 리터를 넣을지 선택하면 얼마를 내야하는지 계산하도록 만들어보자 import java.util.Scanner;public class OilMachineMain { public static void main(Stri..
[Java] 래퍼 클래스
·
TIL/Java
자바와 기본형자바는 객체 지향 언어로 객체가 자바의 대부분을 차지한다. 일부 객체가 아닌 것들이 존재하는데 바로 int, long, char와 같은 기본형이다. 기본형은 객체가 아니라 다음과 같은 한계점이 있다.메서드를 제공할 수 없음null 값을 제공할 수 없음. 프로그래밍을 하다보면 필연적으로 값이 없다는 상태를 나타내는 null 값을 사용해야 할 때가 있는데 기본형에서는 이를 표현할 수가 없다기본형의 한계를 이해하기public class PrimitiveLimit { public static void main(String[] args) { int value = 10; int i1 = compareTo(value, 5); int i2 = compareTo(v..
[Java] String 클래스
·
TIL/Java
기본형을 통해서는 연속된 문자인 문자열을 어떻게 다루어야 할까?char는 문자 하나 밖에 저장하지 못하므로 문자열을 저장하기 위해서는 char[]를 선언해서 연달아 저장해주어야 한다public class StringMain{ public static void main(String[] args) { char[] charArr = {'H','e','l','l','o'}; System.out.println(charArr); } }// 실행결과// Hello그렇지만 개발할 때 문자열은 굉장히 많이 사용되는 자료형이며 매번 배열을 통해서 문자열을 다루기란 쉽지 않다.따라서 자바에서는 String 클래스를 제공해서 문자열을 쉽게 다루도록 돕고 있다 String을 통해 문자열을 생성..