[백준/Java] 17070 - [Gold V] 파이프 옮기기 1
·
코딩테스트/백준
[Gold V] 파이프 옮기기 1 - 17070문제 링크성능 요약메모리: 17428 KB, 시간: 196 ms분류다이나믹 프로그래밍, 그래프 이론, 그래프 탐색제출 일자2025년 3월 23일 15:28:29문제 설명유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 번호이고, 행과 열의 번호는 1부터 시작한다. 각각의 칸은 빈 칸이거나 벽이다.오늘은 집 수리를 위해서 파이프 하나를 옮기려고 한다. 파이프는 아래와 같은 형태이고, 2개의 연속된 칸을 차지하는 크기이다.파이프는 회전시킬 수 있으며, 아래와 같이 3가지 방향이 가능하다.파이프는 매우 무겁..
[프로그래머스/Java] 12946 - [level 2] 하노이의 탑
·
코딩테스트/프로그래머스
[level 2] 하노이의 탑 - 12946문제 링크성능 요약메모리: 129 MB, 시간: 5.07 ms구분코딩테스트 연습 > 연습문제채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2025년 03월 22일 16:05:33문제 설명하노이 탑(Tower of Hanoi)은 퍼즐의 일종입니다. 세 개의 기둥과 이 기동에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있습니다. 게임의 목적은 다음 두 가지 조건을 만족시키면서, 한 기둥에 꽂힌 원판들을 그 순서 그대로 다른 기둥으로 옮겨서 다시 쌓는 것입니다.한 번에 하나의 원판만 옮길 수 있습니다.큰 원판이 작은 원판 위에 있어서는 안됩니다.하노이 탑의 세 개의 기..
[프로그래머스/Java] 12971 - [level 3] 스티커 모으기(2)
·
코딩테스트/프로그래머스
[level 3] 스티커 모으기(2) - 12971문제 링크성능 요약메모리: 76 MB, 시간: 7.62 ms구분코딩테스트 연습 > Summer/Winter Coding(~2018)채점결과정확성: 49.7효율성: 50.3합계: 100.0 / 100.0문제 설명N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다.원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 하고 싶습니다. 단 스티커 한 장을 뜯어내면 양쪽으로 인접해있는 스티커는 찢어져서 사용할 수 없게 됩니다.예를 들어 위 그림에서 14가 적힌 스티커를 뜯으면 인접해있는 10, 6이 적힌 스티커는 사용할 수 없습니다. 스티커에 적힌 숫자가 배열 형태로 주어질 때, ..
[백준/Java] 1620 - [Silver IV] 나는야 포켓몬 마스터 이다솜
·
코딩테스트/백준
[Silver IV] 나는야 포켓몬 마스터 이다솜 - 1620문제 링크성능 요약메모리: 57520 KB, 시간: 480 ms분류자료 구조, 해시를 사용한 집합과 맵문제 설명안녕? 내 이름은 이다솜. 나의 꿈은 포켓몬 마스터야. 일단 포켓몬 마스터가 되기 위해선 포켓몬을 한 마리 잡아야겠지? 근처 숲으로 가야겠어.(뚜벅 뚜벅)얏! 꼬렛이다. 꼬렛? 귀여운데, 나의 첫 포켓몬으로 딱 어울린데? 내가 잡고 말겠어. 가라! 몬스터볼~(펑!) 헐랭... 왜 안 잡히지?ㅜㅜ 몬스터 볼만 던지면 되는 게 아닌가...ㅜㅠ(터벅터벅)어? 누구지?오박사 : 나는 태초마을의 포켓몬 박사 오민식 박사라네. 다솜아, 포켓몬을 잡을 때는, 일단 상대 포켓몬의 체력을 적당히 바닥으로 만들어놓고 몬스터 볼을 던져야 한단다. 자, 내..
[백준/Java] 11660 - [Silver I] 구간 합 구하기 5
·
코딩테스트/백준
[Silver I] 구간 합 구하기 5 - 11660문제 링크성능 요약메모리: 122848 KB, 시간: 736 ms분류다이나믹 프로그래밍, 누적 합제출 일자2025년 2월 16일 16:17:56문제 설명N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다.예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자.1234234534564567여기서 (2, 2)부터 (3, 4)까지 합을 구하면 3+4+5+4+5+6 = 27이고, (4, 4)부터 (4, 4)까지 합을 구하면 7이다.표에 채워져 있는 수와 합을 구하는 연산이 주어졌을 때, 이를 처리하는 프로그램을 작성하시오.입력첫째 줄..
[백준/Java] 13023 - [Gold V] ABCDE
·
코딩테스트/백준
[Gold V] ABCDE - 13023문제 링크성능 요약메모리: 21132 KB, 시간: 220 ms분류백트래킹, 깊이 우선 탐색, 그래프 이론, 그래프 탐색제출 일자2025년 2월 9일 18:49:30문제 설명BOJ 알고리즘 캠프에는 총 N명이 참가하고 있다. 사람들은 0번부터 N-1번으로 번호가 매겨져 있고, 일부 사람들은 친구이다.오늘은 다음과 같은 친구 관계를 가진 사람 A, B, C, D, E가 존재하는지 구해보려고 한다.A는 B와 친구다.B는 C와 친구다.C는 D와 친구다.D는 E와 친구다.위와 같은 친구 관계가 존재하는지 안하는지 구하는 프로그램을 작성하시오.입력첫째 줄에 사람의 수 N (5 ≤ N ≤ 2000)과 친구 관계의 수 M (1 ≤ M ≤ 2000)이 주어진다.둘째 줄부터 M개의..
[백준/Java] 14719 - [Gold V] 빗물
·
코딩테스트/백준
[Gold V] 빗물 - 14719문제 링크성능 요약메모리: 15488 KB, 시간: 140 ms분류구현, 시뮬레이션제출 일자2025년 2월 9일 18:09:19문제 설명2차원 세계에 블록이 쌓여있다. 비가 오면 블록 사이에 빗물이 고인다.비는 충분히 많이 온다. 고이는 빗물의 총량은 얼마일까?입력첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500)두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치부터 차례대로 W개 주어진다.따라서 블록 내부의 빈 공간이 생길 수 없다. 또 2차원 세계의 바닥은 항상 막혀있다고 가정하여도 좋다.출력2차원 세계에서는 한 칸의 용량은 1이다. 고이는 빗물의 총량을 출..
[백준/Java] 9012 - [Silver IV] 구간 합 구하기 5
·
코딩테스트/백준
[Silver IV] 괄호 - 9012문제 링크성능 요약메모리: 14372 KB, 시간: 108 ms분류자료 구조, 스택, 문자열제출 일자2025년 3월 18일 21:51:01문제 설명괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “..
Http 상태코드
·
Computer Science/Network
응답으로 요청의 처리 상태를 알려주는 코드1xx (Informational)2xx (Successful)200 OK: 요청 성공201 Created: 요청 성공 이후 새로운 리소스 생성202 Accepted: 요청이 접수되었으나 처리가 완료되지 않음ex) 요청 접수 후 1시간 뒤에 배치 프로세스가 요청 처리204 No Content: 요청을 성공적으로 처리했지만 응답 페이로드 본문에 보낼 데이터가 없음ex) 웹 문서 편집기의 save 버튼3xx (Redirection)요청을 완료하기 위해 유저 에이전트의 추가 조치 필요3xx 응답의 결과에 Location 헤더가 있으면 Location 위치로 자동 이동(리다이렉트)하는 특징리다이렉션이란?영구 리다이렉션: 특정 리소스의 URI가 영구적으로 이동ex) /me..
HTTP 메서드 활용
·
Computer Science/Network
HTTP 메서드가 어떻게 활용되는지에 대해 알아보자 클라이언트 → 서버 데이터 전송클라이언트가 서버로 데이터를 전송하는 방법은 2가지로 분류할 수 있다쿼리 파라미터를 통한 데이터 전송GET 방식domain.com/static/star.jpg (정적 데이터 조회 요청)domain.com/search?q=hello&hl=ko (동적 데이터 조회 요청)검색어 및 정렬 필터에 주로 사용메시지 바디를 통한 데이터 전송POST, PUT, PATCH회원 가입, 상품 주문, 리소스 등록, 리소스 변경,... 등 메시지 바디를 통해 전송하는 방법HTML Form을 통한 데이터 전송 (GET, POST만 지원)아래와 같은 폼에 클라이언트가 데이터를 입력 후 서버에 요청한다면 어떻게 될까? 전송 domain.com/sa..