분류 전체보기 77

[백준 9461] 파도반 수열

틀린 이유는 자료형 때문이었다.dp 배열을 Long으로 변경하니까 해결되었다. int 범위는 약 -2,147,483,648 ~ 2,147,483,647 이다.dp[i] = dp[i - 2] + dp[i - 3] 계산 과정에서 100번째 값까지 계산하면피보나치와 비슷한 증가 속도 때문에 int 범위를 초과한다. dp[100] = 18,446,744,073,709,551,615 (약 18경) 코드import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in..

알고리즘/백준 2024.11.29

[백준 2579] 계단 오르기

ArrayIndexOutOfBounds가 보이시나요N보다 큰 인덱스에 접근하면 런타임 에러가 발생함따라서 N이 작은 경우에 대해 별도에 처리가 필요  코드import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 입력 int N = Integer.parseInt(br.readLine()); int[] stairs = new int[N+1]; for(int ..

알고리즘/백준 2024.11.29

[프로그래머스 Lv2] 전력망을 둘로 나누기

문제 설명n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다.송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 return 하도록 solution 함수를 완성해주세요.제한 사항n은 2 이상 100 이하인 자연수입니다.wires는 길이가 n-1인 정수형 2차원 배열입니다.wires의 각 원소는 [v1, v2] 2개의 자연수로 이루어져 있으며, 이는 전력망의 v1번 ..

11/25 오답노트

공원 산책class Solution { public int[] solution(String[] park, String[] routes) { int x = 0; int y = 0; // 시작 위치 'S' 찾기 for(int i=0; i= 0 && ny >= 0 && nx   시작 위치 찾기: park 배열을 탐색해서 'S'의 위치를 찾아 x와 y의 초기값으로 설정함 명령어 처리 ex. "E 2": direction과 step을 분리해 이동 방향과 거리 설정함 이동 로직: 각 방향(E, W, S, N)에 따라 좌표(nx, ny)를 업데이트함 경계 및 장애물 검사: 이동 도중 경계 밖으로 나가거나 장애물('X')을 만나면 이동을 중단함 최종..

11/24 오답노트

추억 점수 HashMap에서 키를 가져오고 비교하기containsKey() 또는 get()ex.map.containsKey(person)map.getOrDefault(person, 0)카드 뭉치ArrayIndexOutOfBoundsException 오류cards1과 cards2의 인덱스를 따로 관리한다. int idx1 = 0; int idx2 = 0; for(int i=0; i크기가 작은 부분 문자열 런타임 에러가 발생하는 주요 원인Integer.parseInt 사용 문자열이 32비트 정수의 범위를 초과하면 변환 중 NumberFormatException이 발생함 푸드 파이트 대회 대칭 구조를 생성해야 하는 데 실패함StringBuilder를 사용해서..

자료구조

선형 자료구조선형 자료구조(linear data structure)는 연속적으로 데이터가 나열되는 자료구조를 나타낸다.대표적인 선형 자료구조로는 배열, 리스트, 스택, 큐 등이 있다. 배열배열(array)은 정해진 크기만큼 데이터가 일렬로 저장되는 정적 자료구조다.각 데이터를 배열의 요소(element)라고 하며 데이터를 가리키는 번호를 인덱스(index)라고 한다.  접근   시간복잡도 : O(1)  검색   시간복잡도 : O(n)  삽입   시간복잡도 : O(n)  삭제   시간복잡도 : O(n)연결 리스트연결 리스트(linked list)는 배열과 달리 크기가 정해져 있지 않은 동적(dynamic) 자료구조다.여러 개의 노드로 구성되어 있고, 노드는 데이터와 다음 노드가 저장된 주소 값을 가지고 있..

공부/CS 전공 2024.11.23

[프로그래머스 Lv2] JOIN(SQL)

🔍Lv2. 조건에 맞는 도서와 저자 리스트 출력하기'경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 출판일을 기준으로 오름차순 정렬해주세요.SELECT b.BOOK_ID, a.AUTHOR_NAME, DATE_FORMAT(b.PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATEFROM BOOK bJOIN AUTHOR a ON b.AUTHOR_ID = a.AUTHOR_IDWHERE CATEGORY = '경제'ORDER BY PUBLISHED_DATE ASC; * DATE_FORMAT()Lv2. 상품 별 오프라인 매출 구하기PRODUCT 테이블과 O..

[프로그래머스 Lv1, Lv2] IS NULL(SQL)

Lv1. 경기도에 위치한 식품창고 목록 출력하기FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회하는 SQL문을 작성해주세요. 이때 냉동시설 여부가 NULL인 경우, 'N'으로 출력시켜 주시고 결과는 창고 ID를 기준으로 오름차순 정렬해주세요.SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, NVL(FREEZER_YN, 'N') AS FREEZER_YNFROM FOOD_WAREHOUSEWHERE ADDRESS LIKE '경기도%'ORDER BY WAREHOUSE_ID ASC;Lv1. 이름이 없는 동물의 아이디동물 보호소에 들어온 동물 중, 이름이 없는 채로 들어온 동물의 ID를 조회하는 SQL 문을 작성해주세요. 단, I..