전체 글

전체 글

    [TIL - 20230308]

    😊 느낀점 코틀린으로 작성하면 변수가 var 아니면 val 인데, 매번 참조 타입을 적어줘야 한다는 점이 귀찮긴 하다. 아직도 백준 Git 자동 업로드가 안 고쳐져서 Git 잡초 심기에 구멍이 여러 개 뚫렸다. 빨리 고쳐줬으면... 알고리즘 문제를 하루 5~6 문제에서 3문제로 줄여주셨다. 하루에 많은 문제를 푸는 것은 빠른 실력 향상에 도움이 되겠지만, 적은 문제를 풀더라도 정확하게 푼다면 탄탄하게 실력을 쌓을 수 있을거라고 생각한다. 🤔 개선할 점 내가 알고 있는 것을 입 밖으로 내뱉는 건 생각보다 어렵다... 더 깊이 있게 알고 있으면 좀 더 설명을 잘 할 수 있지 않을까? 공부 할 때 확실한 개념을 잡으면서 공부하자! 🧐 배운점 백준 '회전하는 큐' 문제에서 나는 큐의 가운데 인덱스(centerI..

    [백준/Java] 회전하는 큐

    문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다. 지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다. 왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 a2, ..., ak, a1이 된다. 오른쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 ak, a1, ..., ak-1이 된다. 큐에 처음에 포함되어 있던 수 N이 주어진다. 그리고 지민이가 뽑아내려고 하는 원소의 위치가 주어진다. (이 위치는 가장 처음 큐에서의 위치이다.) 이때, 그..

    [Java] Collection에 저장된 요소 출력하기 (Iterator, ListIterator)

    Iterator 컬렉션 클래스에 대해 iterator()를 호출하여 Iterator를 얻은 후 , Iterator인터페이스의 메서드를 사용하여 컬렉션의 요소를 읽어올 수 있습니다. 사용 가능한 메서드는 다음과 같습니다. 메서드 설명 boolean hasNext() 읽어올 다음 요소가 남아있는지 확인, 있으면 true 없으면 false Object next() 다음 요소 읽어오기, hasNext()가 true이면 next()를 호출하는 것이 안전함 void remove() next()로 읽어온 요소를 삭제, 반드시 next()를 먼저 호출한 후 호출해야함 ArrayList에 저장된 요소 출력 next()를 통해 읽은 요소값이 "c" 인 경우 해당 데이터를 제거하도록 했습니다. 제거 이전에는 리스트의 사이즈..

    [TIL - 20230307]

    😊 잘한점 팀원 모두가 풀기 어려웠던 문제가 있었다. 바로 백준 'Fly me to the Aplha Centauri' 문제. 처음에 해결하지 못 하고, 다 함께 모여 의논했을 때 다른 팀원분들이 찾았던 규칙을 보고, 직접 손으로 표를 작성해보면서 문제를 이해하고 규칙을 도출할 수 있었다. https://yeon-dev.tistory.com/94 [백준/Java] Fly me to the Alpha Centauri 문제 입력 입력의 첫 줄에는 테스트케이스의 개수 T가 주어진다. 각각의 테스트 케이스에 대해 현재 위치 x 와 목표 위치 y 가 정수로 주어지며, x는 항상 y보다 작은 값을 갖는다. (0 ≤ x < y < 231) yeon-dev.tistory.com 🤔 개선할 점 공식을 통해 계산하고, 규..

    [백준/Java] Fly me to the Alpha Centauri

    문제 입력 입력의 첫 줄에는 테스트케이스의 개수 T가 주어진다. 각각의 테스트 케이스에 대해 현재 위치 x 와 목표 위치 y 가 정수로 주어지며, x는 항상 y보다 작은 값을 갖는다. (0 ≤ x < y < 231) 출력 각 테스트 케이스에 대해 x지점으로부터 y지점까지 정확히 도달하는데 필요한 최소한의 공간이동 장치 작동 횟수를 출력한다. 내 풀이 dist = y - x 로, 거리를 나타낸다고 할 때, 해당 거리까지 이동할 때의 max 값은 거리(dist)의 제곱근을 구함으로써 알 수 있습니다. 거리 = 5일 때, 제곱근을 구하면 2.x가 나오고, 정수형으로 변환하여 2라는 max 값을 얻을 수 있습니다. 다음은 거리 1부터 16까지 작성한 표입니다. 주황색 부분은 제곱수를 표시했습니다. 제곱수부터 다..

    [백준/Java] 소수 구하기

    문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 내 풀이 에라토스테네스의 체를 사용합니다. for문 범위를 M 부터 N까지로 설정해주어 M이상 N이하의 소수를 구할 수 있습니다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new I..

    [백준/Java] ACM 호텔

    문제 입력 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수를 포함하고 있으며 각각 호텔의 층 수, 각 층의 방 수, 몇 번째 손님인지를 나타낸다(1 ≤ H, W ≤ 99, 1 ≤ N ≤ H × W). 출력 프로그램은 표준 출력에 출력한다. 각 테스트 데이터마다 정확히 한 행을 출력하는데, 내용은 N 번째 손님에게 배정되어야 하는 방 번호를 출력한다. 내 풀이 n을 h로 나눈 몫과 나머지를 통해 구할 수 있습니다. n / h 몫이 방 호수, n % h 가 층 수가 됩니다. h = 6, w = 6, n = 10 일 때, 그림을 그려보면 손님은 402호를 배..