문제설명입력 & 출력 나의 풀이import java.util.*;class Solution { public int[] solution(int n, long left, long right) { int size = (int)(right - left + 1); int[] answer = new int[size]; int idx = 0; for(long i = left ; i 이번 문제는 문제 설명에서 친절하게 설명해 주듯이 문제자체는 어렵지 않습니다. 그러나 주의해야할 점이 있는데 1 ≤ n ≤ 107 제한사항 때문입니다. 만약 n이 크면 배열의 크기가 증가하므로 n이 매우 큰 값이라면 메모리초과가 발생합니다...
Java를 활용하다 보면 데이터를 임시로 저장하거나 순서대로 처리해야 할 때가 있습니다. 이때 사용할 수 있는 자료 구조 중 하나가 스택(Stack)입니다. 이 글에서는 Java의 스택에 대해 알아보고, 사용 방법과 예제를 통해 그 장단점을 살펴보겠습니다. 스택(Stack)이란❓스택(Stack)은 위 그림에서 보면 알 수 있듯이 데이터를 쌓아 올리듯 저장하고, 나중에 저장한 데이터를 먼저 꺼내는 후입선출(LIFO, Last In First Out) 방식을 따릅니다. 특징후입선출(LIFO) 방식으로 데이터를 저장하고 처리합니다.push() 메서드로 데이터를 스택에 추가하고, pop() 메서드로 가장 최근에 추가된 데이터를 제거하며 반환합니다.peek() 메서드는 스택의 맨 위에 있는 데이터를 반환하지만 ..
문제설명입력 & 출력나의 풀이import java.util.*;class Solution { public String solution(String[] participant, String[] completion) { HashMap map = new HashMap(); StringBuilder sb = new StringBuilder(); for(int i = 0 ; i 이번 문제는 HashMap을 활용할 수 있는 문제입니다. 전체 참가자 배열과 완주자 배열이 주어지고, 완주하지 못한 사람의 이름을 반환하면 되는 문제입니다. 처음에는 HashSet을 사용하여 코드를 작성했지만 중복된 이름이 존재하는 경우 HashSet의 특성상 중복을 허용하지 않기에..
문제설명입력 & 출력나의 풀이이번 문제는 전화번호가 적인 배열 phone_book이 주어질 때 해당 전화번호 북에 한 번호가 다른 번호의 접두사 즉 시작하는 단어에 포함된다면 false를 반환하고, 없다면 true를 반환하는 문제입니다. import java.util.*;class Solution { public boolean solution(String[] phone_book) { HashSet set = new HashSet(); for(String number : phone_book){ set.add(number); } for(String number : phone_book){ ..