ALL
[구름톤 챌린지/Python] Day 4 - 완벽한 햄버거 만들기
구름톤 챌린지 완벽한 햄버거 만들기 파이썬 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io더보기❍ 문제구름 햄버거는 다양한 재료를 사용하여 만들어서 맛있기로 유명하다. 구름 햄버거는 N개의 재료를 순서대로 쌓아서 만들고, 구름 햄버거의 맛은 사용된 모든 재료의 맛의 정도를 더한 값이다.완벽한 구름 햄버거를 만들기 위해서는 맛의 정도가 가장 높은 재료를 기준으로 위랑 아래로 갈 수록 재료의 맛의 정도가 감소하거나 같아야 한다.플레이어는 N개의 재료를 순서대로 쌓아서 구름 햄버거를 하나 만들었다. i번째로 쌓은 재료의 맛의 정도가 $k_i$라고 할 때, 플레이어가 만든 구름 햄버거의 맛을 구해보자.만약 플레이어가 완벽하지 않은 구름 햄버거를 만들었..
[구름톤 챌린지/Python] Day 2 - 프로젝트 매니징
구름톤 챌린지 프로젝트 매니징 파이썬 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io더보기❍ 문제플레이어는 구름 프로젝트의 일정을 관리하는 PM(프로젝트 매니저)이자 유일한 개발자다. 현재 구름 프로젝트를 완수하기 위해서는 N개의 기능 개발이 추가로 필요하다. 각 기능에는 1번부터 N번까지 번호가 붙어 있고, i번째 기능을 개발하는데는 $c_i$분의 시간이 걸린다.플레이어는 프로젝트를 기한 안에 끝내기 위해 철야 작업에 들어갔다. 플레이어가 철야 작업을 시작한 시간은 T시 M분이다. 플레이어는 1번 기능부터 순서대로 개발을 진행하고, 한 기능 개발을 끝마치면 바로 다음 기능의 개발을 시작한다. 플레이어가 모든 기능 개발을 끝마친 시각을 구해보자..
[MySQL] NULL 처리 (IS NULL, IFNULL, COALESCE)
들어가며데이터의 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 ~)
들어가며@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, 최단 경로
백준 미로탐색 파이썬 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) | 산술, 논리, 비교
들어가며MySQL로 프로그래머스에서 문제를 풀이하다보니, 연산자(Operator)부터 차근차근 하나씩 문법을 정리해보면 좋을 것 같다고 생각이 들었습니다. 따라서, 이 포스팅에서는 MySQL의 연산자인 산술 연산자, 비교 연산자, 논리 연산자, 비트연산자에 대해 다룹니다.❏ 산술 연산자산술 연산자는 기본적인 수학 연산을 수행합니다.+, -, *, /, % : 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지SELECT 10 + 5; --15SELECT 20 - 7; --13SELECT 6 * 4; --24SELECT 15 / 3; --5SELECT 17 % 5; --2DIV : 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 소수 부분을 버림MOD : 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 그 나머지를 반환함SEL..
[Spring] Lombok의 @Builder와 @SuperBuilder
들어가며Lombok 라이브러리 중 @Builder와 @SuperBuilder 어노테이션을 사용하면, 객체의 생성 과정을 구현하는 것에 있어서 큰 도움을 받을 수 있습니다.이 포스팅에서는 두 어노테이션의 특징과 사용법, 그리고 언제 어떤 것을 선택하면 좋을 지에 대해 다루고 있습니다.❏ @Builder란?@Builder는 Lombok에서 제공하는 어노테이션으로, 빌더 패턴을 자동으로 구현해줍니다. 따라서, 편리하게 빌더 패턴을 사용해줄 수 있는데요. 😆 사용 예시@Getter@Builderpublic class Person { private String name; private int age;}// 객체 생성Person person = Person.builder() ..
[이코테/Python] 화성 탐사 || 최단 경로, 다익스트라
이코테 화성 탐사 파이썬더보기❍ 문제화성 탐사 기계가 존재하는 공간은 N x N 크기의 2차원 공간이며, 각각의 칸을 지나기 위한 비용(에너지 소모량)이 존재합니다. 가장 왼쪽 위 칸인 [0][0] 위치에서 가장 오른쪽 아래 칸인 [N-1][N-1] 위치로 이동하는 최소 비용을 출력하는 프로그램을 작성하세요. 화성 탐사 기계는 특정한 위치에서 상하좌우 인접한 곳으로 1칸씩 이동할 수 있습니다.첫째 줄에 테스트 케이스의 수 T(1 매 테스트 케이스의 첫째 줄에는 탐사 공간의 크기를 의미하는 정수 N이 주어집니다. 이어서 N개의 줄에 걸쳐 각 칸의 비용이 주어지며 공백으로 구분합니다.❍ 입력첫째 줄에 테스트 케이스의 수(1 매 테스트 케이스의 첫째 줄에는 탐사 공간의 크기를 의미하는 정수 N이 주어집니다. ..
[이코테/Python] 정확한 순위 || 최단 경로, 플로이드 워셜
이코테 정확한 순위 Python더보기❍ 문제선생님은 시험을 본 학생 N명의 성적을 분실하고, 성적을 비교한 결과의 일부만 가지고 있습니다.학생 N명의 성적은 모두 다른데, 다음은 6명의 학생에 대하여 6번만 성적을 비교한 결과입니다.1번 학생의 성적 3번 학생의 성적 4번 학생의 성적 4번 학생의 성적 5번 학생의 성적 5번 학생의 성적 A번 학생의 성적이 B번 학생보다 낮다면 화살표가 A에서 B를 가리키도록 할 때 위의 성적 결과를 다음 그림처럼 표현할 수 있습니다.이 그림으로 유추해서 순위를 정확히 알 수 있는 학생도 있고, 알 수 없는 학생도 있습니다. 예를 들어 1번 학생은 5번 학생보다 성적이 낮고, 5번 학생은 4번 학생보다 성적이 낮으므로 1번 학생은 4번 학생보다 성적이 낮습니다. 따라서 ..
[Git] GitHub author 변경하기
들어가며팀원이 제 노트북을 이용하게 되면서, Github의 작성자(Author)를 팀원 계정으로 설정 해준 적이 있습니다.추후에 알고리즘 문제를 풀고 열심히 Commit & Push를 하다가 나중에서야 이 사실을 깨닫게 되어 수정해주었는데요. 따라서, Github Commit의 Author를 변경하는 방법과, Git Rebase 명령어를 이용한 커밋 이력 변경 방법을 정리하여 소개합니다. ❏ GitHub Author 변경하기❍ Git Log 확인하기시작하기 전에 먼저 Git Log를 확인하여 변경하고자 하는 커밋을 확인해봐야 합니다.git log 해당 명령어를 통해, 우리는 커밋의 해시값, Author, Date, Commit Message과 같은 커밋 기록을 확인해볼 수 있습니다. 해시값을 기억해두고,..