전체 글 176

[개발 일지 #1] "마라탕 게임" 만들기 - 기획부터 AI IDE 셋업까지

1. 게임 컨셉 및 핵심 비주얼게임 장르: 1인칭 요리 시뮬레이션 (Tycoon)모티브: '좋은 피자, 위대한 피자(Good Pizza, Great Pizza)'의 게임성 계승아트 스타일: * 따뜻하고 포근한 핸드 드로잉(Hand-drawn) 스케치 스타일텍스트를 최소화하고 아이콘과 비주얼로 소통하는 직관적인 UI파스텔톤의 부드러운 색감을 사용하여 편안한 분위기 조성2. 화면 설계 및 시점 (UI/UX)1인칭 요리사 시점: 플레이어가 카운터 안쪽에서 손님을 마주 보는 구도화면 분할 레이아웃:상단: 손님의 대화창과 표정이 보이는 '커뮤니케이션 영역'중앙: 조리용 냄비, 저울, 바구니가 놓인 '메인 작업대'하단: 맵기 조절 버튼 및 각종 액션 버튼이 배치된 '컨트롤 영역'3. 핵심 게임 루프 (Gamepla..

[Mac] 맥북 개발자 필수 도구 세팅

맥북 개발 환경의 시작: Homebrew부터 nvm, asdf까지 완벽 정리안녕하세요! 맥북 세팅의 꽃이라고 할 수 있는 '패키지 관리 도구' 설정 방법을 정리해 보려고 합니다. 맥북을 개발용으로 쓰신다면 이 도구들은 선택이 아니라 필수라고 해도 과언이 아니에요.1. 모든 설치의 시작, Homebrew윈도우에 설치 파일(.exe)이 있다면, 맥에는 Homebrew가 있습니다. 터미널에서 명령어 한 줄로 필요한 앱을 설치하고 업데이트할 수 있게 해주는 아주 고마운 도구예요.설치 한 줄 평: "Homebrew 없이는 맥북 개발 못 한다"고 보시면 됩니다.꿀팁: 설치 후에 반드시 터미널 안내에 따라 'Next steps' 경로 설정을 해주셔야 명령어가 먹힙니다!2. Node.js 버전 관리는 nvm으로프로젝트..

[Mac] 윈도우 유저의 맥북 적응기

윈도우만 쓰다가 맥북으로 넘어온 개발자의 '멘붕' 방지 가이드안녕하세요! 저도 오랫동안 윈도우만 쓰다가 이번에 맥북으로 넘어오면서 처음엔 손에 안 익어 고생을 좀 했는데요. 저처럼 윈도우에 익숙하신 분들이 맥북을 처음 쓸 때 가장 헷갈려하는 부분들만 콕 집어 정리해 봤습니다.1. 한영 전환과 단축키 (Command는 무적)가장 먼저 당황하는 게 한영 전환이죠. 윈도우는 오른쪽 한/영 키를 쓰지만, 맥은 Caps Lock을 짧게 누르거나 Control + Space를 씁니다.꿀팁: 윈도우의 Ctrl 역할은 대부분 Command(⌘) 키가 대신합니다. 복사(Cmd+C), 붙여넣기(Cmd+V)만 익숙해져도 절반은 성공이에요!2. 창 닫기 vs 앱 종료윈도우는 빨간 X를 누르면 프로그램이 완전히 꺼지지만, 맥은..

[Mac] Java & Node.js 버전 관리 (asdf / nvm)

맥북 개발 환경 구축: Java랑 Node.js 버전 관리, 한 번에 해결하기안녕하세요! 맥북에서 개발하다 보면 프로젝트마다 자바나 노드 버전을 다르게 써야 할 때가 꼭 생기죠. 매번 삭제하고 다시 깔 순 없으니, 오늘은 제가 정말 편하게 쓰고 있는 버전 관리 도구들을 소개해 드릴게요.1. Node.js 버전 관리 (nvm)노드(Node.js) 버전 관리는 nvm(Node Version Manager)이 국룰입니다. 프로젝트마다 요구하는 노드 버전이 다를 때 명령어 한 줄로 슥 바꿀 수 있어요.설치 방법: Homebrew를 통해 간단히 설치할 수 있습니다.주요 명령어:nvm install 18: 18버전 설치nvm use 20: 20버전으로 전환nvm ls: 설치된 버전 확인2. Java 버전 관리 (a..

[Mac] 맥북에어 개발 환경 세팅 가이드: IntelliJ & VS Code

맥북에어 개발 환경 세팅 가이드: IntelliJ & VS Code 필수 설정맥북을 새로 구매하셨거나 개발 환경을 다시 잡으려는 분들 많으시죠? 저도 맥북에어를 사용하면서 어떻게 하면 리소스를 효율적으로 쓰면서 쾌적하게 개발할 수 있을지 고민을 많이 했는데요. 오늘은 제가 직접 써보면서 정말 유용했던 IntelliJ와 VS Code 필수 설정들을 정리해 보려고 합니다. 이 세팅만 따라 하셔도 작업 속도가 훨씬 빨라질 거예요.1. IntelliJ: 백엔드 개발 효율을 높여주는 설정자바나 스프링 부트 프로젝트를 돌릴 때 인텔리제이가 무겁게 느껴진다면 이 설정부터 확인해 보세요.Heap Memory 할당량 늘리기: Help > Change Memory Settings에서 2048MB 정도로 높여보세요. 빌드 ..

[그리디] 볼링공 고르기

문제 A,B 두 사람이 볼링을 치고 있습니다. 두 사람은 서로 무게가 다른 볼링공을 고르려고 합니다. 볼링공은 총 N개가 있으며 각 볼링공마다 무게가 적혀 있고, 공의 번호는 1번부터 순서대로 부여됩니다. 또한 같은 무게의 공이 여러 개 있을 수 있지만, 서로 다른 공으로 간주합니다. 볼링공의 무게는 1부터 M까지의 자연수 형태로 존재합니다. 예를 들어 N이 5이고, M이 3이며 각각의 무게가 차례대로 1,3,2,3,2일 때 각 공의 번호가 차례대로 1번부터 5번까지 부여됩니다. 이때 두 사람이 고를 수 있는 볼링공 번호의 조합을 구하면 다음과 같습니다. (1번, 2번), (1번, 3번), (1번, 4번), (1번, 5번), (2번, 3번), (2번, 5번), (3번, 4번), (4번, 5번) 결과적으로..

[그리디] 만들 수 없는 금액

문제 동네 편의점의 주인인 동빈이는 N개의 동전을 가지고 있습니다. 이때 N개의 동전을 이용하여 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하세요. 예를 들어, N=5 이고, 각 동전이 각각 3원, 2원, 1원, 1원, 9원짜리(화폐 단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 8원입니다. 또 다른 예시로, N=3이고, 각 동전이 각각 3원, 5원, 7원 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 1원입니다. [입력 조건] 첫 째줄에는 동전의 개수를 나타내는 양의 정수 N이 주어집니다. (1≤N≤1,000) 둘째 줄에는 각 동전의 화폐 단위를 나타내는 N개의 자연수가 주어지며, 각 자연수는 공백으로 구분..

[그리디] 문자열 뒤집기

문제 백준 1439 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것이다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미한다. 예를 들어 S=0001100 일 때, 전체를 뒤집으면 1110011이 된다. 4번째 문자부터 5번째 문자까지 뒤집으면 1111111이 되어서 2번 만에 모두 같은 숫자로 만들 수 있다. 하지만, 처음부터 4번째 문자부터 5번째 문자까지 문자를 뒤집으면 한 번에 0000000이 되어서 1번 만에 모두 같은 숫자로 만들 수 있다. 문자열 S가 주어졌을 때, 다솜이가 해야하는 행동의 최소 횟수를 출력하시오. 코드 #문..

[그리디] 곱하기 혹은 더하기

문제 각 자리가 숫자(0부터 9)로만 이루어진 문자열 S가 주어졌을 때, 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 숫자 사이에 'x' 혹은 '+' 연산자를 넣어 결과적으로 만들어질 수 있는 가장 큰 수를 구하는 프로그램을 작성하세요. 단, +보다 x를 먼저 계산하는 일반적인 방식과는 달리, 모든 연산은 왼쪽에서부터 순서대로 이루어진다고 가정합니다. 예를 들어 02984라는 문자열이 주어지면, 만들어질 수 있는 가장 큰수는 ((((0 + 2) 9) 8) * 4) = 576 입니다. 코드 # 곱하기 혹은 더하기 # * + 연산자를 넣어 가장 큰 수를 구하는 프로그램 작성 # 왼쪽 부터 순서대로 s = input() #첫번째 문자를 숫자로 변경 result = int(s[0]) for i in rang..

[그리디] 모험가 길드

문제: 한 마을에 모험가가 N명 있습니다. 모험가 길드에서는 N명의 모험가를 대상으로 '공포도'를 측정했는데,'공포도'가 높은 모험가는 쉽게 공포를 느껴 위험 상황에서 제대로 대처할 능력이 떨어집니다. 모험가 길드장인 동빈이는 모험가 그룹을 안전하게 구성하고자 공포도가 X인 모험가는 반드시 X명 이상으로구성한 모험가 그룹에 참여해야 여행을 떠날 수 있도록 규정했습니다. 동빈이는 최대 몇 개의 모험가 그룹을 만들 수 있는지 궁금합니다. N명의 모험가에 대한 정보가 주어졌을 때, 여행을 떠날 수 있는 그룹 수의 최댓값을 구하는 프로그램을 작성하세요. 예를 들어, N = 5이고, 각 모험가의 공포도가 다음과 같다고 가정합시다. 2 3 1 2 2 이 경우 그룹 1에 공포도가 1,2,3인 모험가를 한 명씩 넣고,..