300x250
🖊️ 문제 영어 끝말잇기 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차례에 tank를 말합니다. 2번 사람이 자신의 첫..
인트로 본 포스팅에선 순열을 구하는 코드를 소개하려 한다. 결론부터 말하면 재귀 함수(DFS)로 순열을 구할 수 있다. 순열이란 n개 중에 r개를 뽑아 순서 있게 나열하는 경우의 수로 다음과 같이 표현한다. $_nP_r=\frac{n!}{(n-r)!}$ 이와 유사하게 순서가 없이 n개 중에 r개를 뽑는 것을 조합이라고 한다. 순열 : 코드 DFS로 순열을 구하는 코드이다. 집합의 원소 번호를 order배열에 순열의 형태로 저장하고 출력 시 arr배열의 인덱싱 용도로 사용한다. #include using namespace std; int arr[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int cnt, n, r; int visited[4]; int order[4]; void p..
인트로 문제 자체는 심플하지만 결과를 도출하기 위해 여러 조건을 검사해야 하는 문제를 소개하려 한다. 탄화수소 질량 구하기 문제 탄소(C)와 수소(H)로만 이루어진 화합물을 탄화수소라고 합니다. 탄소(C) 한 개의 질량은 12g, 수소(H) 한 개의 질량은 1g입니다. 에틸렌(C2H4)의 질량은 12*2+1*4=28g입니다. 메탄(CH4)의 질량은 12*1+1*4=16g입니다. 탄화수소 식이 주어지면 해당 화합물의 질량을 구하는 프로그램을 작성하세요. ※ 입력설명 첫 줄에 탄화수소식이 주어집니다. 식의 형태는 CaHb 형태이며 (1 str; if (str[1] == 'H') { cCount = 1; pos = 1; } else { int i; for (i = 1; str[i] != 'H'; i++) { ..
인트로 1부터 N까지 숫자에서 3이 몇 개 있는지 구하는 문제이다. N의 범위가 작은 만큼 시간제한이 없는 문제이다. 시간제한이 없다면 코딩 기초 문제에 포함되는 문제이지만 시간제한이 있다면 난이도가 엄청나게 올라가니 본 문제를 풀어보고 시간제한이 있다면 어떤 방식으로 풀어야 할지 고민해보자 나중에 시간이 된다면 시간제한이 버전을 포스팅하려 한다. (링크 추가 예정) 3의 개수는? (시간제한 없음) 문제 자연수 N이 입력되면 1부터 N까지의 자연수를 종이에 적을 때 각 숫자 중 3의 개수가 몇 개 있는지 구하려고 합니다. 예를 들어 1부터 15까지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5으로 3의 개수는 2개입니다. 자연수 N이 입력..