| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- unity게임만들기
- c#
- 티스토리챌린지
- unity게임
- 백준코테
- 백준 C++
- unity3d게임만들기
- c#코딩기초트레이닝
- c#기본문법
- c#기초문법
- solved class 2
- 백준코딩테스트
- 유니티서바이벌게임만들기
- 유니티
- 백준 구현문제
- unity3dservival
- c#코테
- 오블완
- C#문법
- 바킹독
- c++ solved.ac
- 백준
- c++ 백준
- 리그오브레전드턴제게임
- Unity
- 백준 c++ 공부
- 유니티공부
- C++
- 바킹독알고리즘
- 유니티게임만들기
- Today
- Total
나 개발자 진짜 되냐?
코딩테스트 입문 - 캐릭터의 좌표 ( clamp ) 본문

지난 12월부터 쭉 코테만 공부한거같은데..
뭔가...
확 실력이 오른 기분이 아니다.
맨날 몰라서 인지씨를 찾아가기만 하고..
머리는 멍하고..
이게 방향이 맞는걸까..
걱정이 너무 많다.
걱정이 많다...
...많아..
공백만 생기는게 아닌가..
걱정이 많다..

RPG게임하니까 나도 하나 만들어야 할 텐데..
심란심란..
하지만 일단 문제부터.. 풀어본다.
이 문제에서 중요한 건
가운데서 시작하기 때문에
최대 칸이 정해져 있다는 것.
그래서 9면 왼쪽 최대 4 오른쪽 최대 4
소수점이 버려진다.
이때는 int를 사용하면 된다.
그럼 소수점이 자동으로 버려진다!!!!
다음으로 중요한 것은
음수 양수 표현이다.
int a = 2;
일 때
음수로는 표현을 어떻게 하나.. 했었다.
근데 -a라고 하면 자연스레 -2이 된다고 한다.
왕 신기
그래서!

이렇게 풀었다.
답은 잘 나왔다.
인지 씨에게 최적의 식을 물었는데..
이거 보다 더 좋은 식이 있다고 했다.
이렇게 if문으로 조건을 하나하나 따지지 말고
최댓값과 최솟값을 정해두고 그 밖으로 못 나가게 해 보자고 했다.
사기적인 내장함수
clamp
최소와 최대를 넘어가지 못하게 꽉 잡아주는 함수!!
#include <algorithm>을 추가해야 한다.
사용법
clamp(현재값, 최솟값, 최댓값);
그리고 얘는 값을 넣어줘야 한다.
answer [0] = clamp(현재값, 최솟값, 최댓값);
그래서 이렇게 풀 때는 먼저
최댓값 최솟값을 먼저 변수로 두고
x, y도 따로 담는는다.

근데 answer을 이렇게 담으면 안 된다.
답에 바로 넣어주면
x가 맨 끝에 갔다가 돌아가는 그 값이 꼬이게 된다고 한다.
그래서! 따로 해줘야 한다고 한다..ㅎㅎ

이렇게..!!

생각할 게 많아서
어려웠는데..
6점이라니.. 그거보단 어려운거 같았는데..
아닌가..
기분이 썩 좋지않아서 기분탓일지도..
clamp으로
최솟값 최댓값을 정해주고
그 안에서 움직일 수 있도록 해주는 것
참 좋은 알고리즘 하나 배웠다.
잘 써먹고 싶다.
'프로그래머스를 풀어보아요! > C++' 카테고리의 다른 글
| 코딩테스트 입문 - 최댓값 만들기 (2) ( size()-1 ) (0) | 2026.05.18 |
|---|---|
| 코딩테스트 입문 - 숨어있는 숫자의 덧셈 (2) ( isdigit() ) (0) | 2026.05.18 |
| 코딩테스트 입문 - 다항식 더하기 ( substr, ss, back ) (0) | 2026.05.16 |
| 코딩테스트 입문 - 잘라서 배열로 저장하기 ( substr ) (0) | 2026.05.14 |
| 코딩테스트 입문 - 중복된 숫자 개수 ( const ) (0) | 2026.05.13 |
