전체 글 236

[백준] (33517) 징검다리 게임 [Python]

문제 링크https://www.acmicpc.net/problem/33517문제상혁이는 징검다리 게임을 하고 있다. 이 게임에는 N개의 칸으로 구성된 징검다리가 있으며, 플레이어는 첫 번째 칸에서 출발하여 마지막 칸에 도달하면 게임에서 승리한다.징검다리의 각 칸은 비어 있거나 곰 또는 지뢰 중 하나가 존재하며, 모든 곰의 체력은 1 이상의 정수이다. 또한 첫 번째 칸과 마지막 칸은 비어 있다. 징검다리 게임의 명령어는 아래와 같다.점프 (J): 다음 칸으로 이동한다. 이동한 칸에 곰이나 지뢰가 있다면 플레이어는 패배한다.공격 (A): 다음 칸에 있는 곰의 체력을 1 깎는다. 곰의 체력이 0이 되면 다음 칸의 곰은 사라진다. 다음 칸이 빈칸이라면 아무 일도 일어나지 않으며, 다음 칸에 지뢰가 있다면 지뢰가..

PS/백준 2026.01.08

Spring Boot EC2 배포 가이드 (Backend & DB)

목표로컬에서 개발한 Spring Boot 프로젝트를 AWS EC2(Ubuntu) 서버에 업로드하고, MariaDB와 연동하여 무중단으로 실행한다.사전 준비AWS EC2 인스턴스 생성 완료 (OS: Ubuntu 22.04 LTS 권장)보안 그룹(Security Group) 설정: 22 (SSH), 8080 (Spring Boot) 포트 개방SSH 키 파일(.pem) 보유1. EC2 접속 및 환경 설정Git Bash 등의 터미널로 EC2에 접속해 필요한 파일을 설치한다.1-1. SSH 접속ssh -i "키파일.pem" ubuntu@1-2. 기본 패키지 업데이트 및 설치sudo apt updatesudo apt install openjdk-17-jdk -yjava -version# (openjdk versio..

[백준] (2263) 트리의 순회 [Python]

문제 링크https://www.acmicpc.net/problem/2263문제 n개의 정점을 갖는 이진 트리의 정점에 1부터 n까지의 번호가 중복 없이 매겨져 있다. 이와 같은 이진 트리의 인오더와 포스트오더가 주어졌을 때, 프리오더를 구하는 프로그램을 작성하시오. 입력 : 첫째 줄에 n(1 ≤ n ≤ 100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다.출력 : 첫째 줄에 프리오더를 출력한다.예제 입력예제 출력11 8 4 9 2 5 1 10 6 11 3 7 8 9 4 5 2 10 11 6 7 3 11 2 4 8 9 5 3 6 10 11 7코드(1) 메모리 초과n = int(input())inorder = list(map(..

PS/백준 2025.11.03

[백준] (2644) 촌수계산 [C] [C++]

문제 링크https://www.acmicpc.net/problem/2644문제우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 독특한 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌으로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌, 나와 아버지 형제들과는 3촌이 된다.여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오.입력사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람..

PS/백준 2025.10.27

[백준] (31024) Filesystem [Python]

문제 링크https://www.acmicpc.net/problem/31024문제파일 시스템 명령어와 쿼리가 주어질 때, 각 쿼리가 요청하는 파일의 내용을 출력해야 한다. 만약 쿼리가 유효하지 않으면(예: 경로가 존재하지 않는 경우) invalid! 를 출력해야 한다.다음 명령어들을 지원해야 한다.지원 명령어echo "" > 파일에 를 쓴다.만약 가 이미 존재한다면, 그것은 파일이어야 하며 내용은 덮어쓰인다.경로가 존재하지 않는다면, 부모 디렉터리는 반드시 존재해야 하며, 이 경우 파일이 새로 생성된다.는 ASCII 숫자, 문자, *, ?, , >, 그리고 공백만을 포함한다.cp 파일을 파일 또는 디렉터리로 복사한다.만약 이 이미 존재하는 디렉터리라면, 파일은 디렉터리 안으로 복사되며, 파일명은 ..

PS/백준 2025.10.25

티스토리 글 제목에 이미지 추가하기

위 사진처럼 블로그 글 제목에 아이콘 이미지를 마치 이모지처럼 삽입해서 사용하는 방법을 알아보자.1. 블로그 관리 - 꾸미기 - 스킨 편집2. HTML 편집 - 파일 업로드3. HTML - 하단부에 아래 코드 추가 자동으로 제목(a 또는 h2 태그) 내의 `[Python]`이라는 텍스트가 이미지로 자동 변환된다.(+) 다만 모바일의 경우 스킨이 적용되지 않기 때문에 제목에 그대로 [Python]이라고 표시된다.

일상 2025.10.25

[백준] (1194) 달이 차오른다, 가자. [Python]

문제 링크https://www.acmicpc.net/problem/1194문제지금 민식이가 계획한 여행은 달이 맨 처음 뜨기 시작할 때 부터, 준비했던 여행길이다. 하지만, 매번 달이 차오를 때마다 민식이는 어쩔 수 없는 현실의 벽 앞에서 다짐을 포기하고 말았다. 민식이는 매번 자신의 다짐을 말하려고 노력했지만, 말을 하면 아무도 못 알아들을 것만 같아서, 지레 겁먹고 벙어리가 되어버렸다. 결국 민식이는 모두 잠든 새벽 네시 반쯤 홀로 일어나, 창 밖에 떠있는 달을 보았다. 하루밖에 남지 않았다. 달은 내일이면 다 차오른다. 이번이 마지막기회다. 이걸 놓치면 영영 못간다. 영식이는 민식이가 오늘도 여태것처럼 그냥 잠 들어버려서 못 갈지도 모른다고 생각했다. 하지만 그러기엔 민식이의 눈에는 저기 뜬 달이 ..

PS/백준 2025.10.25

[백준] (34560) 브레인롯 챔피언십 [Python]

링크https://www.acmicpc.net/problem/34560문제골마는 'Italian Brainrot'이라는 밈에 중독되어 버렸습니다. 오늘도 트랄랄레로 트랄랄라와 퉁퉁퉁퉁퉁퉁퉁퉁 사후르를 외치고 다닌다고 합니다. 그러다가 골마는 과연 'Italian Brainrot'에 나오는 캐릭터 중 누가 이길까 궁금해졌습니다. 골마는 마침내 'Italian Brainrot' 세계관의 모든 캐릭터들을 모아 그들의 서열을 정리하기 위한 '제1회 브레인롯 챔피언십'을 개최했습니다. 각 캐릭터는 Potenza(힘) P, Agilità(민첩) A, Surrealismo(초현실성) S라는 세 가지 능력치를 가지고 있습니다. 두 캐릭터가 맞붙었을 때, 세 능력치에 대해 각 능력치가 같거나 높으면 승 수를 1씩 얻으며..

PS/백준 2025.10.05

[백준] (23059) 리그 오브 레게노 [Python]

문제 링크https://www.acmicpc.net/problem/23059문제백남이는 새 학기를 맞이하여, 리그 오브 레게노(League of Legeno)라는 게임을 시작했다. 리그 오브 레게노는 AOS(Aeon of Strife) 종류의 게임으로, 5명의 플레이어가 한 팀이 되어 상대편의 주요 건물을 부수는 것이 게임의 승리 목표이다. 게임 내에서 유저들은 게임에서 승리하기 위해 자신의 캐릭터의 능력치를 올리도록 해야 한다. 맵에 등장하는 몬스터나 상대 팀의 플레이어를 처치하며 경험치와 골드를 보상으로 얻고, 이 경험치를 통해 캐릭터의 레벨을 올림으로써 레벨 증가에 따른 능력치를 얻게 된다. 그러나 한 게임에서 레벨에 대한 일정 상한선이 존재한다. 다른 방법으로는 골드를 사용하여 아이템들을 구매함으..

PS/백준 2025.10.03

[백준] (5052) 전화번호 목록 [Python]

문제 링크https://www.acmicpc.net/problem/5052문제전화번호 목록이 주어진다. 이때, 이 목록이 일관성이 있는지 없는지를 구하는 프로그램을 작성하시오.전화번호 목록이 일관성을 유지하려면, 한 번호가 다른 번호의 접두어인 경우가 없어야 한다.예를 들어, 전화번호 목록이 아래와 같은 경우를 생각해보자긴급전화: 911상근: 97 625 999선영: 91 12 54 26이 경우에 선영이에게 전화를 걸 수 있는 방법이 없다. 전화기를 들고 선영이 번호의 처음 세 자리를 누르는 순간 바로 긴급전화가 걸리기 때문이다. 따라서, 이 목록은 일관성이 없는 목록이다.입력 : 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 ..

PS/백준 2025.09.14