[Goorm/Python] 통증 (2) || 구름톤 챌린지 (다이나믹 프로그래밍)
·
🎯PS
구름톤 챌린지 통증(2) 파이썬 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 더보기 ❏ 문제 풀이 ❍ 문제 구름-그라운드 게임에는 통증이라는 시스템이 있다. 통증 수치가 높다면 게임에서 승리하기 어려워지므로, 아이템을 적절히 사용해 통증 수치를 0으로 유지하는 것이 중요하다. 게임 안에는 통증 수치를 감소시켜 주는 아이템이 2종류가 있다. 아이템의 이름은 A, B이고, 각 아이템을 사용 시 각각 $A_p, B_p$만큼 통증 수치를 감소시켜 준다. 각 아이템은 원하는 만큼 획득할 수 있다. 플레이어는 적과의 전투에서 피해를 입어 현재 N의 통증 수치를 가지고 있다. 플레이어가 통증 수치를 0으로 줄이기 위해 필요한 아이템의 최소 개수를 구..
[Goorm/Python] GameJam || 구름톤 챌린지 (런타임에러)
·
🎯PS
구름톤챌린지 GameJam 파이썬 195692 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 더보기 ❍ 문제 플레이어는 GameJam에 참가했다. GameJam은 현장에서 즉석으로 팀을 꾸려 게임의 규칙을 만든 뒤, 생각한 규칙을 코드로 옮겨서 게임을 만들어내는 대회이다. 플레이어가 속한 팀은 보드로 즐길 수 있는 간단한 보드게임을 만들었다. 게임의 진행 방법과 규칙은 다음과 같다. 게임은 한 변의 길이가 N인 격자 보드 위에서 진행한다. 보드는 한 변의 길이가 1인 $N^2$개의 칸으로 나누어져 있다. 각 칸에는 에 해당하는 방향으로 칸만큼 한 칸씩 이동하라는 지시가 적혀있다. 플레이하는 사람은 처음에 보드의 칸 중 하나에 말을 올려놓는..
[Goorm/Python] 문자열 나누기 || 구름톤 챌린지
·
🎯PS
구름톤 챌린지 문자열 나누기 195688 파이썬 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 더보기 ❍ 문제 길이가 N인 문자열 S가 주어진다. 플레이어는 문자열 S를 서로 겹치지 않는 3개의 부분 문자열로 나누려고 한다. 부분 문자열은 모두 길이가 1 이상이어야 하며, 원래 문자열에서 연속해야 한다. 문자열을 나누는 방법에 따라 플레이어는 점수를 얻을 수 있다. 점수는 다음 과정에 따라 계산된다. 문자열 S를 위 조건에 따라 나눴을 때, 등장하는 모든 부분 문자열을 중복 제거하고 사전순으로 정렬한 결과를 P라고 한다. 나누어진 3개의 문자열이 각각 P에서 i, j, k번째로 등장하는 문자열이라면, 얻을 수 있는 점수는 i + j + k..
[구름톤 챌린지/Python] Day 4 - 완벽한 햄버거 만들기
·
🎯PS
구름톤 챌린지 완벽한 햄버거 만들기 파이썬 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io더보기❍ 문제구름 햄버거는 다양한 재료를 사용하여 만들어서 맛있기로 유명하다. 구름 햄버거는 N개의 재료를 순서대로 쌓아서 만들고, 구름 햄버거의 맛은 사용된 모든 재료의 맛의 정도를 더한 값이다.완벽한 구름 햄버거를 만들기 위해서는 맛의 정도가 가장 높은 재료를 기준으로 위랑 아래로 갈 수록 재료의 맛의 정도가 감소하거나 같아야 한다.플레이어는 N개의 재료를 순서대로 쌓아서 구름 햄버거를 하나 만들었다. i번째로 쌓은 재료의 맛의 정도가 $k_i$라고 할 때, 플레이어가 만든 구름 햄버거의 맛을 구해보자.만약 플레이어가 완벽하지 않은 구름 햄버거를 만들었..
[구름톤 챌린지/Python] Day 2 - 프로젝트 매니징
·
🎯PS
구름톤 챌린지 프로젝트 매니징 파이썬 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io더보기❍ 문제플레이어는 구름 프로젝트의 일정을 관리하는 PM(프로젝트 매니저)이자 유일한 개발자다. 현재 구름 프로젝트를 완수하기 위해서는 N개의 기능 개발이 추가로 필요하다. 각 기능에는 1번부터 N번까지 번호가 붙어 있고, i번째 기능을 개발하는데는 $c_i$분의 시간이 걸린다.플레이어는 프로젝트를 기한 안에 끝내기 위해 철야 작업에 들어갔다. 플레이어가 철야 작업을 시작한 시간은 T시 M분이다. 플레이어는 1번 기능부터 순서대로 개발을 진행하고, 한 기능 개발을 끝마치면 바로 다음 기능의 개발을 시작한다. 플레이어가 모든 기능 개발을 끝마친 시각을 구해보자..
[MySQL] NULL 처리 (IS NULL, IFNULL, COALESCE)
·
💬 Database
들어가며데이터의 NULL을 처리해야 하는 상황에서 MySQL에서 사용할 수 있는 여러가지 방법에 대해 정리해보고자 합니다. 이 포스팅에서는 MySQL의 NULL을 다루는 방법 중 가장 많이 사용되는 IS NULL, IFNULL, COALESCE에 대해 다룹니다.❏ IS NULL, IS NOT NULLIS NULL에 대해서는 지난 번 비교 연산자를 다루면서 개념만 확인해보았는데, 다시 한 번 정리해보도록 하겠습니다.IS NULL과 IS NOT NULL은 데이터의 값이 NULL인지 아닌지 확인할 수 있는 연산자입니다. 따라서, 이 두 가지 방식을 이용하여 NULL이 포함되어있는 데이터에 대해 원하는대로 값을 조회해올 수 있습니다! 👍❍ IS NULLSELECT * FROM student WHERE scho..
[Spring/Error] @Builder 사용법, @Builder.Default (feat. warning: @Builder.Default requires ~)
·
🍀 Spring Boot
들어가며@Builder를 이용하면서, 빌더를 통해 생성되지 않는 필드의 값에는 자동적으로 Null이 담기게 됩니다. 따라서, 필드의 기본값을 설정해주면 좋을 것 같아서 찾아보니, @Builder.Default를 사용해보면 좋을 것 같아 적용했으나…아래와 같은 경고가 떴습니다.warning: @Builder.Default requires @Builder or @SuperBuilder on the class for it to mean anything.아이쿠 바보.. @Builder의 사용법에 대해 정리를 한 번 해야 겠다😓라는 생각이 들었습니다.따라서, 이 글은 @Builder의 사용 방법에 대해 소개합니다!! 이전 글)@Builder와 @SuperBuilder를 가볍게 훑어보고 싶다면, [Spring] ..
[BOJ/Python] 미로 탐색 || BFS, 최단 경로
·
🎯PS
백준 미로탐색 파이썬 2178https://www.acmicpc.net/problem/2178더보기❍ 문제N×M크기의 배열로 표현되는 미로가 있다.101111101010101011111011미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다.위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다.❍ 입력첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개..
[MySQL] MySQL의 연산자(Operator) | 산술, 논리, 비교
·
💬 Database
들어가며MySQL로 프로그래머스에서 문제를 풀이하다보니, 연산자(Operator)부터 차근차근 하나씩 문법을 정리해보면 좋을 것 같다고 생각이 들었습니다. 따라서, 이 포스팅에서는 MySQL의 연산자인 산술 연산자, 비교 연산자, 논리 연산자, 비트연산자에 대해 다룹니다.❏ 산술 연산자산술 연산자는 기본적인 수학 연산을 수행합니다.+, -, *, /, % : 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지SELECT 10 + 5; --15SELECT 20 - 7; --13SELECT 6 * 4; --24SELECT 15 / 3; --5SELECT 17 % 5; --2DIV : 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 소수 부분을 버림MOD : 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 그 나머지를 반환함SEL..
내가 보려고 만든 MySQL 문법 정리
·
➰ Series
MySQL의 연산자(Operator) | 산술, 논리, 비교 [MySQL] MySQL의 연산자(Operator) | 산술, 논리, 비교들어가며MySQL로 프로그래머스에서 문제를 풀이하다보니, 연산자(Operator)부터 차근차근 하나씩 문법을 정리해보면 좋을 것 같다고 생각이 들었습니다. 따라서, 이 포스팅에서는 MySQL의 연산자인dmaolon00.tistory.com NULL 처리 (IS NULL, IFNULL, COALESCE) [MySQL] NULL 처리 (IS NULL, IFNULL, COALESCE)들어가며데이터의 NULL을 처리해야 하는 상황에서 MySQL에서 사용할 수 있는 여러가지 방법에 대해 정리해보고자 합니다. 이 포스팅에서는 MySQL의 NULL을 다루는 방법 중 가장 많이 사용되는..