분류 전체보기 84

[코딩테스트 40일차] BAEKJOON 9012번 : 괄호

[BAEKJOON 9012번 : 괄호][문제] [고찰] 저는 해당 문제에 대해서 정수형 count 변수를 선언한 후, ' ( '가 나오면 count++을 해주고, ' ) '가 나오면 count--를 해주는 방식으로 하여 count가 0일 때 해당 문자열이 VPS라는 아이디어로 풀었습니다. 다만, 다른 분들의 풀이를 보니 스택으로 해당 문제를 풀었고, 문제의 알고리즘 분류에도 스택이 있어 스택으로도 풀어보려고 합니다. 아래는 괄호를 카운트하는 방식으로 푼 제 코드입니다.#include #include using namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int t; cin >> t; while (t--) { ..

코딩 테스트 2025.07.11

[코딩테스트 39일차] BAEKJOON 2839번 : 설탕 배달

[BAEKJOON 2839번 : 설탕 배달][문제] [고찰] 해당 문제에 대해 저는 아래와 같이 풀었습니다. 저는 5를 우선적으로 빼는 조건을 3의 배수가 아니거나 n이 10보다 클 때로 정했습니다.그리고 위의 조건을 만족하지 않으면 3을 빼게 하였습니다. 조건을 이렇게 정한 이유는, n이 3의 배수가 아니면 당연히 5를 빼면 되고, n이 10보다 커야한다는 조건은 n이 18일 때 3의 배수이지만 5로 우선적으로 빼야하기 때문입니다. 그래서 10보다 큰 n에 대해서는 우선적으로 5를 빼게 설정한 것이였습니다. 하지만, 이 문제 풀이는 잘못된 풀이였습니다.n이 12일 때를 생각해보면, n은 10보다 크기 때문에 5를 우선적으로 빼게됩니다.하지만 5를 뺀 후의 7이 된 n은 어떻게 해도 원하는 답으로 도출되..

카테고리 없음 2025.07.02

[Unity 개발] King's Adventure - Player 상태 세부 구현

Unity 2D 기반으로 픽셀 컨셉의 Adventure RPG를 개발하려고 합니다.모바일, PC 기반으로 개발할 예정입니다. 일단 가제는 'King's Adventure'로 정하였습니다. 오늘 기획 및 개발한 내용을 블로그에 정리합니다. State 구조상위 State는 Singleton으로 만든 Player, PlayerController에서 관리하는 변수 사용을 위해 PlayerController와 하위 상태 관리를 위한 SubStateMachine, 하위 상태들로 이루어져있습니다.public enum PlayerSubStateType{ Attack, Skill_1, Skill_2, Roll, Block, Pray, Sleep} 또한, 열거형 Player Sub ..

게임 개발 2025.07.01

[코딩테스트 37일차] BAEKJOON 2563번 : 색종이

[BAEKJOON 2563번 : 색종이][문제] [고찰] 해당 문제에 대해 아이디어가 너무 떠오르지 않아, 잘못된 풀이일거라는 직감이 있었지만 어떻게든 풀기 위해 아래와 같이 풀게 되었습니다.결과는 물론 틀렸기는 합니다만.. 모든 경우의 수를 고려했다고 생각했는데 아니였던 것 같습니다. 이에 올바른 풀이를 정리하고자 합니다. #include #include using namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector> squares(n); int blackArea = 0; int area = 100 * n; for (int i = 0; i > squares[i].f..

코딩 테스트 2025.06.28

[코딩테스트 36일차] BAEKJOON 1436번 : 영화감독 숌

[BAEKJOON 1436번 : 영화감독 숌][문제] [고찰] 이 문제를 봤을 때, 도대체 무슨 소리인지 하나도 모르겠었습니다.사실 다른 분들의 풀이를 여러번 보았는데도 이해가 안됐었습니다. 하지만 코드를 이해하고 보니, 그제서야 무슨 소리인지가 이해가 되었습니다. 처음에는 어떤 규칙이 숨어있나 계속 뜯어보고, 생각하고 했었는데 규칙이 아니였습니다.문제에서 요구하는 것은 666을 제일 작은 종말의 수로 하여금, 666이 포함된 N번째로 작은 종말의 수를 찾으라는 것이었습니다. 즉, 666부터 시작하여 계속 증가시키면서 666이 포함된 작은 수를 출력하라는 것이었습니다.이를 기반으로 내용을 정리해보겠습니다. [개념] 문제를 풀기 전, 알아야 할 개념은 to_string과 find입니다. 간단하게 설명하면,..

코딩 테스트 2025.06.27

[코딩테스트 35일차] BAEKJOON 10814번 : 나이순 정렬

[BAEKJOON 10814번 : 나이순 정렬][문제] [고찰] 저는 이 문제를 어떻게 풀지 고민할 때, pair 클래스는 sort를 적용할 때, 자동으로 second 요소까지 자동으로 정렬을 적용한다는 것을 생각하였습니다. 그래서 sort를 사용하는 것은 안되겠다 하여, 직접 정렬을 구현하였습니다.어떻게 구현할지 많은 고민 끝에, 비효율적인 것을 알지만서도 방법이 없어 아래와 같이 구현하였습니다. 무한 루프 안에서, 제대로 정렬이 될 때까지 계속 입력받은 벡터를 반복하는 형태로 구현하였습니다.#include #include // 10814번using namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int..

코딩 테스트 2025.06.24

[코딩테스트 34일차] BAEKJOON 11650번 : 좌표 정렬하기, 1193번 : 분수찾기

[BAEKJOON 11650번 : 좌표 정렬하기][문제] [고찰] 처음에 이 문제를 보고 풀 때, vector coordinate(n); 으로 크기 2의 int형 배열로 좌표를 입력받을 벡터를 만들었습니다.다만 컴파일을 시작한 뒤 오류가 발생하였고, 오류에서 말하는 핵심은, 정적 배열 타입을 vector에 직접 사용하여서 발생하는 컴파일 오류였습니다. 그래서 어떻게 풀어갈까 생각하다가, 답이 나오지 않아 두 쌍을 입력받을 수 있는 형식에 대해 검색하였고, pair를 택하게 되었습니다. pair p;로 pair를 선언한 뒤, cin >> p.first >> p.second;로 입력을 받았습니다.그리고 boolean을 return으로 하는 compare 함수를 만들어, pair before과 pair aft..

코딩 테스트 2025.06.23

[코딩테스트 33일차] BAEKJOON 1181번 : 단어 정렬

[BAEKJOON 1181번 : 단어 정렬][문제] [고찰] 해당 문제에 대해 아예 접근조차 하지 못해, 어쩔 수 없이 다른 분들의 풀이를 볼 수 밖에 없었습니다.. [개념] 해당 문제의 핵심 아이디어는 사용자 정의 sort를 쓸 수 있는지에 대한 것이었습니다. bool compare()이라는 함수를 만들어,입력받은 words를 sort(words.begin(), words.end(), compare);로 사용자 정의 정렬을 하였습니다. compare 함수에서는,1. 길이가 다르다면 길이에 따라 정렬하게하고,2. 길이가 같다면 알파벳 순서에 따라 정렬하게 구현하였습니다.bool compare(const string& a, const string& b){ if (a.length() != b.length()..

코딩 테스트 2025.06.21

[Unity 개발] King's Adventure - Player 입력 및 상태 구현

Unity 2D 기반으로 픽셀 컨셉의 Adventure RPG를 개발하려고 합니다.모바일, PC 기반으로 개발할 예정입니다. 일단 가제는 'King's Adventure'로 정하였습니다. 오늘 기획 및 개발한 내용을 블로그에 정리합니다. 키 입력 Player Input Action을 사용하여 기본적인 키 입력을 받았습니다. 각 동작에 있어서 필요에 맞게, Press 또는 Hold로 Interactions을 설정하였습니다. 다만, 점프에 있어서는 Hold와 Press를 모두 설정해놓았는데,이는 스페이스바를 누르는 만큼 점프를 더 오래할 수 있게 하기 위함입니다. 점프가 시작되면서 Press로 반응한 Callback Context가변수 jumpPressStartTime을 Time.time으로 시간을 저장하고..

게임 개발 2025.06.21

[코딩테스트 32일차] BAEKJOON 2941번 : 크로아티아 알파벳

[BAEKJOON 2941번 : 크로아티아 알파벳][문제] [고찰] 저는 이 문제를 alphabets이라는 7의 크기를 가지는 string 배열을 만들어, 글자 수가 2개인 크로아티아 알파벳을 값으로 지정하였고, aplhabet이라는 string 타입의 변수를 만들어 글자 수가 3개인 크로아티아 알파벳인 'dz='를 지정하였습니다. 그 후 i = 0부터 입력받은 단어인 word의 size만큼 반복하면서, 크로아티아 알파벳인지 아닌지를 판별하여 해당 문제를 풀었습니다. 먼저 i + 1이 word.size()보다 크거나 같다면, 마지막 글자라는 의미이기 때문에 바로 알파벳 수를 1 더해줬습니다. 만약 아니라면, string str 변수를 만들어, string(1, word[ i ])와 word[i + 1]을..

코딩 테스트 2025.06.20