본문 바로가기

C++

(5)
[C++] 함수 오버로딩 vs 오버라이딩 # 함수 오버로딩(overloading)이란 서로 다른 함수에 대하여 같은 이름을 사용하는 기능입니다. 함수의 이름은 같지만 함수 선언에 사용된 매개변수의 타입이나 갯수가 다를 때, 함수 오버로딩이 가능합니다. 이 때 리턴 타입은 서로 다른 함수에 포함되지 않습니다. 아래 코드에서 square 라는 이름의 함수가 오버로딩 되었습니다. int square(int x) { return x * x; } double square(double x) { return x * x; } int main() { cout
[ 백준 12886 ] 돌 그룹 (C++) # 문제링크 www.acmicpc.net/problem/12886 12886번: 돌 그룹 오늘 강호는 돌을 이용해 재미있는 게임을 하려고 한다. 먼저, 돌 세개는 그룹으로 나누어져 있으며 각각의 그룹에는 돌이 A, B, C개가 있다. 강호는 모든 그룹에 있는 돌의 개수를 같게 만들려고 www.acmicpc.net 10 15 35 나, 15 10 35 나, 35 10 15나,,,, 같은 숫자 구성이다. 어차피 같은 숫자 구성인데 각각 진행시켜 줄 필요가 없다. 세 수를 오름차순으로 정렬해서 체크를 재주면 visited[500][500][500] 에 체크를 다 해줄 수 있다. 세 수의 비교 코드,, C언어 배울 때 if else 문 chapter 에서 국룰이었는데.. 그 때 생각하며 if else 를 열씸히..
[백준 3190] 뱀 C++ # 문제링크 www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net C++의 deque 를 사용해서 풀었다. 앞으로 갈 때는 push_front() 해주고, 사과가 없을 때는 pop_back() 해주었다. 방향은 이차원 배열을 만들어서 해결했다. dir[i][k] 배열은 현재 i 방향일 때 k (왼쪽이나 오른쪽)으로 움직이는 방향이다. 잘 하시는 분들은 뭔가 방향 이동에서도 규칙성을 찾으시겠지만, 나는 그냥 배열로 다 써주었다.. 앞으로 갈 때마다 벽이랑 부딪혔는지, 자기..
[백준 2659] 십자카드 문제 C++ 풀이 # 문제링크 www.acmicpc.net/problem/2659 2659번: 십자카드 문제 입력은 한 줄로 이루어지며, 이 한 줄은 카드의 네 모서리에 씌여있는 1 이상 9 이하의 숫자 4개가 시계 방향으로 입력된다. 각 숫자 사이에는 빈칸이 하나 있다. www.acmicpc.net 모든 시계수를 만들어 visited 에 체크하고, 주어진 수 까지 앞에 몇개가 있었는지 확인했습니다. 시계수를 만들 때 4중 for 문을 사용했는데 이렇게 하는 게 맞는지 모르겠네... 하면서 했습니다. 더 좋은 방법이 있을지도.. # 제출 코드 #include #include using namespace std; bool visited[10000]; int get_num(int a, int b, int c, int d) {..
[백준 15650] N과 M (2) #조합 # 문제 링크 www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 이 문제는 1부터 N까지 자연수 중에서 중복없이 M개를 고른 수열을 출력하는 문제로, 조합 문제입니다. 이전 글인 순열 계산 문제에서 4개 중에 2개를 꼽으면 아래와 같습니다. (순열 계산 참고) 2021.03.13 - [Computer Science&Engineering/코딩테스트] - [백준 15649] N과 M (1)) 4 2 1 2 1 3 1 4 2 1 2 3 2 4 3 1 3 2 3 4..