본문 바로가기

전체 글91

[프로그래머스] n^2 배열 자르기 문제 설명 아이디어 구현 코드 배열에 규칙이 보였기 때문에 n^2 만큼의 배열을 만들어서 일일이 한 행씩 추가하는 건 비효율적일 것 같다. #include #include using namespace std; vector solution(int n, long long left, long long right) { vector answer; for (long long i = left; i = r * n && i < r * (n+1)) answer. push_back(r + 1); else answer.push_back(i + 1 - r*n); } return answer; } 아이디어에서 말한 예외를 if문으로 처리 주의 ) row를 표현한 r을 int로 하면 x 신경쓰이는 점이 예외 개수가 r개여서 더 간.. 2024. 3. 13.
[프로그래머스] 완주하지 못한 선수 문제 1명의 선수를 제외하고, 모두 완주 참여 선수들 이름 : participant 완주 선수들 이름 : completion 제한사항 총 선수는 1명 이상 10만명 이하 각 이름은 1개 이상 20개 이하의 알파벳 소문자 동명이인 가능 @ 완주 못한 선수 이름 [아이디어] 집합으로 따지면 A⊃B에서 A-B을 떠올렸으나, 동명이인이 가능하다고 하여 집합 생각은 x 해시 카테고리여서인지 map으로 각 이름을 key로, 해당 이름을 가진 사람 수를 value로 해도 되겠다 생각 [구현] #include #include #include using namespace std; string solution(vector participant, vector completion) { string answer = ""; ma.. 2024. 3. 8.
[JAVA] Map과 HashMap의 차이 Map과 HashMap의 차이 데이터를 저정하고 관리할 때, 키와 값을 쌍으로 데이터를 저장하는 구조가 있다. 이를 표현하는 인터페이스가 Map. 이 인터페이스를 구현한 클래스가 HashMap이다. Map 인터페이스 키(key)와 값(value)를 하나의 쌍으로 저장하는 컬렉션 클래스를 구현하는 데 사용 - 키는 중복 x, 값은 중복 허용 Map 인터페이스를 구현한 클래스 : Hashtable, HashMap, LinkedHashMap, SortedMap, TreeMap, ... HashMap 클래스 Map 인터페이스를 구현한 클래스, 해시 테이블을 이용하여 키와 값을 저장 해싱을 사용하기 때문에 많은 양의 데이터를 검색하는 데 뛰어나다. 해싱 해시함수를 이용하여 데이터를 해시테이블에 저장하고 검색하는 .. 2024. 3. 8.
[JAVA] Optional<> 이 뭘까? Optional Generic 클래스로 T타입의 객체를 감싸는 래퍼 클래스로서, 최종 결과를 그냥 반환하는 게 아니라 Optional 객체에 담아서 반환 Why? 왜 쓸까? 반환된 결과가 null인지 매번 if문으로 체크하는 대신 Optional에 정의된 메서드를 통해 간단히 처리 가능 if문 없이 NullPointerException 발생x 간결, 안전한 코드 Wrapper Class 자바의 자료형 : 기본 타입 | 참조 타임 기본 타입 : char, int, float, double, boolean ... 참조 타입 : class, interface, ... 기본 타입의 데이터를 객체로 표현해야 할 때가 존재 -> 래퍼 클래스 사용! 모든 기본타입은 값을 갖는 객체 생성 가능 (포장 객체) -> 기본.. 2024. 3. 7.
728x90