[JAVA] 백준 10816번: 숫자 카드 2
문제숫자 카드 N개가 입력되고 다음 M개의 정수가 주어질 때, 각 정수가 적혀있는 숫자 카드를 몇 개 가지고 있는지 출력하는 문제. 아이디어카운팅 정렬을 사용한다.주어지는 정수 범위에 해당하는 크기의 배열 선언(-10,000,000 ~ 10,000,000 이므로 20,000,001 사이즈의 배열)음수는 0 ~ 9,999,999 인덱스에 카운트,0은 10,000,000 인덱스에 카운트 ,양수는 10,000,001 ~ 20,000,000 인덱스에 카운트한다.해시맵을 사용해도 무관하다. 풀이import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws Exception{ ..
[JAVA] 백준 2164번: 카드2
문제N이 주어지면 1부터 N까지의 카드를 순서대로 보유하고, 아래의 순서대로 연산을 반복한다.가장 첫번째 카드를 버린다.그 다음 첫번째 카드를 맨 뒤로 옮긴다.이 과정을 카드가 한 장 남을 때까지 반복한다.이렇게 연산을 수행한 후 제일 마지막에 남게 되는 카드를 출력하는 문제. 아이디어(첫 풀이) 맨 앞의 요소를 맨 뒤로 옮기는데 가장 간단하게 사용 할 수 있는 자료구조는 큐이다.큐를 이용해 해당 연산을 직접 구현한다.(두번째 풀이) 직접 연산을 수행하며 답을 나열하면 다음과 같다.1,2,2, 4,2, 4, 6, 8,2, 4, 6, 8, 10, 12, 14, 16,...규칙성을 찾으면 숫자가 2^i 개씩 증가하며, 각 수열이 생기는 것을 알 수 있다. 그리고 정답은 해당 수열에서의 수 위치 x 2이 규칙..