일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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게임
- 티스토리챌린지
- Unity
- c#코딩기초트레이닝
- 유니티게임만들기
- c#문제
- unity게임만들기
- 유니티공부
- C#문법
- 시샵
- unity3dservival
- 시샵문법
- 유니티상호작용
- 스파르타
- 유니티
- c#기본문법
- c#코테
- c# c#프로그래머스
- 스파르타코딩클럽
- c# 백준
- c#기초문법
- c#프로그래머스기초문법
- C++문법
- unity3d
- 유니티서바이벌게임만들기
- 오블완
- unity공부
- 유니티3dui
- c#
- unity3d게임만들기
- Today
- Total
나 개발자 진짜 되냐?
바킹독 0x02 문제7 - 세수정렬 / 백준 2557번 본문
세수 정렬..
정렬..
사실 이 정렬이라는 거에 큰 힌트를 얻었어야 했는데
그냥 세 숫자를 어떻게 할까 만 고민하다가
결국 답지를 본 문제이다.
문제 푸는 방법은 두 가지라고 한다.
함께 보자
1. for문 따위 쓰지 않는다.
생각해 보니 나쁘지 않은 거 같다.
a , b, c에 숫자를 넣고
d e f를 만들어서
가장 큰 숫자를 d에 넣고
가장 작은 숫자를 f에 넣고
나머지 한 숫자를 그 큰 거와 작은 것을 더해서 전체에서 뺀 값으로 쓰게 된다.
참 신기하다. 똑똑하다.. 천재다!!
여기서 알아야 할 건 max와 min!
이미 지원해 주는 것이기 때문에 자주 공부해서 사용해 보자!
max ( arr ) 은 안된다고 한다.
그래서 배열로 쓸 때는 max_element라고 써야 한다고 한다.
int arr [3] = {a, b, c};
int max_val = *max_element(arr, arr + 3);
앞에 별을 붙여야지만 최댓값 자체를 얻을 수 있다고 한다.
배열에서 가장 중요한 것이 값 자체인지 주소인지 봐야 하기 때문에
신경 써줘야 하는 부분이다.
벡터여도 똑같은 함수를 사용한다.
max와 max_element 두 종류가 있다는 사실을 기억하자!
2. 출력을 위해서 for문을 어쩔 수 없이 쓰자. or 함수를 쓰면 되잖아?
정렬이라는 말에 힌트를 받았어야 했는데 sort라는 친구가 있다.
정돈 후,
출력하세요!
arr부터 arr+3까지 는 0부터 +3칸까지라는 뜻!
3. 지 선생이 그러던데 벡터도 좋대!
vector <int>로 선언
이름은 v이고 (3)은 3개라는 뜻!
백터의 첫 번째를 뜻할 땐
대괄호! []
그래서 v [1] 이렇게 쓴다.
sort에서 쓸 때가 중요한데
배열로 받을 땐 그냥 arr0번부터 arr+3 이렇게 했는데
그 이유는 배열이 포인터이기 때문이라고 한다!
여기는 시작과 끝이라는 또 다른 용어가 존재했다.
v. 하니 바로 뜨더라!
대신 함수? 여서 그런지 괄호를 사용해야 했다.
푸는 방식이 이렇게 많으면,,, 어쩌자고요,,
원래 모든 코테에는 답이 있진 않지만..
참 알다가도 모를 정도로 어렵다.
'C++을 시작해봐요! > 알고리즘을 공부해봐요!' 카테고리의 다른 글
바킹독 0x02 문제9 - 주사위 세개 / 백준 2480번 (0) | 2025.06.23 |
---|---|
바킹독 0x02 문제8 - 윤년 / 백준 2753번 (0) | 2025.06.20 |
바킹독 0x02 문제6 - 시험성적 / 백준 - 9498번 (0) | 2025.06.09 |
바킹독 0x02 문제5 - 사칙연산 / 백준 - 10869번 (0) | 2025.06.02 |
바킹독 0x02 문제4 - 고양이 / 백준 - 10171번 (0) | 2025.05.30 |