🎯PS

    [Goorm/Python] 발전기 || 구름톤 챌린지 (DFS, BFS)

    [Goorm/Python] 발전기 || 구름톤 챌린지 (DFS, BFS)

    구름톤 챌린지 발전기 파이썬 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 더보기 ❍ 문제 구름 심시티를 하고 있는 플레이어는 한 변의 길이가 N인 정사각형 모양의 마을 M을 만들고 있다. r번째 행, c번째 열에 해당하는 칸에는 숫자 $M_{r, c}$가 적혀 있다. $M_{r, c}$는 0 또는 1 중 하나이며, 각 숫자가 의미하는 바는 아래와 같다. 0이면 아무것도 없는 칸이다. 1이면 집이 있는 칸이다. 마을에 있는 집에 전력을 공급하기 위해선 그 집에 발전기를 설치하거나, 상하좌우로 인접한 집 중 하나가 전력을 공급받고 있으면 된다. 플레이어가 모든 집에 전력을 공급하기 위해서 설치해야 할 발전기의 최소 개수를 구해보자. ❍ 입력..

    [Goorm/Python] 통증 (2) || 구름톤 챌린지 (다이나믹 프로그래밍)

    [Goorm/Python] 통증 (2) || 구름톤 챌린지 (다이나믹 프로그래밍)

    구름톤 챌린지 통증(2) 파이썬 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 더보기 ❏ 문제 풀이 ❍ 문제 구름-그라운드 게임에는 통증이라는 시스템이 있다. 통증 수치가 높다면 게임에서 승리하기 어려워지므로, 아이템을 적절히 사용해 통증 수치를 0으로 유지하는 것이 중요하다. 게임 안에는 통증 수치를 감소시켜 주는 아이템이 2종류가 있다. 아이템의 이름은 A, B이고, 각 아이템을 사용 시 각각 $A_p, B_p$만큼 통증 수치를 감소시켜 준다. 각 아이템은 원하는 만큼 획득할 수 있다. 플레이어는 적과의 전투에서 피해를 입어 현재 N의 통증 수치를 가지고 있다. 플레이어가 통증 수치를 0으로 줄이기 위해 필요한 아이템의 최소 개수를 구..

    [Goorm/Python] GameJam || 구름톤 챌린지 (런타임에러)

    [Goorm/Python] GameJam || 구름톤 챌린지 (런타임에러)

    구름톤챌린지 GameJam 파이썬 195692 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 더보기 ❍ 문제 플레이어는 GameJam에 참가했다. GameJam은 현장에서 즉석으로 팀을 꾸려 게임의 규칙을 만든 뒤, 생각한 규칙을 코드로 옮겨서 게임을 만들어내는 대회이다. 플레이어가 속한 팀은 보드로 즐길 수 있는 간단한 보드게임을 만들었다. 게임의 진행 방법과 규칙은 다음과 같다. 게임은 한 변의 길이가 N인 격자 보드 위에서 진행한다. 보드는 한 변의 길이가 1인 $N^2$개의 칸으로 나누어져 있다. 각 칸에는 에 해당하는 방향으로 칸만큼 한 칸씩 이동하라는 지시가 적혀있다. 플레이하는 사람은 처음에 보드의 칸 중 하나에 말을 올려놓는..

    [Goorm/Python] 문자열 나누기 || 구름톤 챌린지

    [Goorm/Python] 문자열 나누기 || 구름톤 챌린지

    구름톤 챌린지 문자열 나누기 195688 파이썬 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 더보기 ❍ 문제 길이가 N인 문자열 S가 주어진다. 플레이어는 문자열 S를 서로 겹치지 않는 3개의 부분 문자열로 나누려고 한다. 부분 문자열은 모두 길이가 1 이상이어야 하며, 원래 문자열에서 연속해야 한다. 문자열을 나누는 방법에 따라 플레이어는 점수를 얻을 수 있다. 점수는 다음 과정에 따라 계산된다. 문자열 S를 위 조건에 따라 나눴을 때, 등장하는 모든 부분 문자열을 중복 제거하고 사전순으로 정렬한 결과를 P라고 한다. 나누어진 3개의 문자열이 각각 P에서 i, j, k번째로 등장하는 문자열이라면, 얻을 수 있는 점수는 i + j + k..

    [구름톤 챌린지/Python] Day 4 - 완벽한 햄버거 만들기

    [구름톤 챌린지/Python] Day 4 - 완벽한 햄버거 만들기

    구름톤 챌린지 완벽한 햄버거 만들기 파이썬 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io더보기❍ 문제구름 햄버거는 다양한 재료를 사용하여 만들어서 맛있기로 유명하다. 구름 햄버거는 N개의 재료를 순서대로 쌓아서 만들고, 구름 햄버거의 맛은 사용된 모든 재료의 맛의 정도를 더한 값이다.완벽한 구름 햄버거를 만들기 위해서는 맛의 정도가 가장 높은 재료를 기준으로 위랑 아래로 갈 수록 재료의 맛의 정도가 감소하거나 같아야 한다.플레이어는 N개의 재료를 순서대로 쌓아서 구름 햄버거를 하나 만들었다. i번째로 쌓은 재료의 맛의 정도가 $k_i$라고 할 때, 플레이어가 만든 구름 햄버거의 맛을 구해보자.만약 플레이어가 완벽하지 않은 구름 햄버거를 만들었..

    [구름톤 챌린지/Python] Day 2 - 프로젝트 매니징

    [구름톤 챌린지/Python] Day 2 - 프로젝트 매니징

    구름톤 챌린지 프로젝트 매니징 파이썬 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io더보기❍ 문제플레이어는 구름 프로젝트의 일정을 관리하는 PM(프로젝트 매니저)이자 유일한 개발자다. 현재 구름 프로젝트를 완수하기 위해서는 N개의 기능 개발이 추가로 필요하다. 각 기능에는 1번부터 N번까지 번호가 붙어 있고, i번째 기능을 개발하는데는 $c_i$분의 시간이 걸린다.플레이어는 프로젝트를 기한 안에 끝내기 위해 철야 작업에 들어갔다. 플레이어가 철야 작업을 시작한 시간은 T시 M분이다. 플레이어는 1번 기능부터 순서대로 개발을 진행하고, 한 기능 개발을 끝마치면 바로 다음 기능의 개발을 시작한다. 플레이어가 모든 기능 개발을 끝마친 시각을 구해보자..

    [BOJ/Python] 연산자 끼워 넣기 || DFS

    [BOJ/Python] 연산자 끼워 넣기 || DFS

    백준 연산자 끼워 넣기 파이썬 14888 14888번: 연산자 끼워넣기첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, 곱www.acmicpc.net더보기❍ 문제N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다.우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다.예를 들어, 6개의 수로..

    [Programmers/Python] 괄호 변환

    [Programmers/Python] 괄호 변환

    프로그래머스 괄호 변환 파이썬 60058 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 더보기 ❍ 문제 설명 카카오에 신입 개발자로 입사한 **"콘"**은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. 수정해야 할 소스 파일이 너무 많아서 고민하던 "콘"은 소스 코드에 작성된 모든 괄호를 뽑아서 올바른 순서대로 배치된 괄..

    [BOJ/Python] 경쟁적 전염 || BFS

    [BOJ/Python] 경쟁적 전염 || BFS

    백준 경쟁적 전염 파이썬 18405 18405번: 경쟁적 전염첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치www.acmicpc.net더보기❍ 문제NxN 크기의 시험관이 있다. 시험관은 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 바이러스가 존재할 수 있다. 모든 바이러스는 1번부터 K번까지의 바이러스 종류 중 하나에 속한다.시험관에 존재하는 모든 바이러스는 1초마다 상, 하, 좌, 우의 방향으로 증식해 나간다. 단, 매 초마다 번호가 낮은 종류의 바이러스부터 먼저 증식한다. 또한 증식 과정에서 특정한 칸에 이미 어떠한 바이러스가..

    [BOJ/Python] 연구소 || DFS, BFS

    [BOJ/Python] 연구소 || DFS, BFS

    백준 연구소 14502 파이썬 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 더보기 ❍ 문제 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모..