BOJ - 이항 계수 1 11050
·
코딩테스트
해결방법이항계수라는 것은 다음 공식처럼 재귀함수를 이용하여 풀 수 있다. 물론 자리수가 조금만 커지게 된다면 저 방식으로는 제한시간 내에 풀 수 없을 것이다.다음번에 비슷한 문제가 나오게 된다면 새로운 해법을 가져오겠다. 풀이는 재귀함수를 이용하여 계산을 반복했다. 정답 코드#include using namespace std;static int LeeHang(int n, int r){ if (r == 0 || n == r) return 1; return LeeHang(n - 1, r - 1) + LeeHang(n - 1, r);}int main(){ int N, K, Out = 0; cin >> N >> K; Out = LeeHang(N, K); cout
워치독 타이머(Watchdog Timer)
·
Programming/기타
워치독 타이머란?정의컴퓨터의 오작동을 감지하고자 쓰이는 일종의 데드맨 스위치 같은 것.정상 작동중인 컴퓨터는 타임아웃이나 무한 루프같은 상황에 빠지지 않도록 일정 시간마다 정기적으로 워치독 타이머를 재가동 시킨다. 만약 하드웨어 오류나 프로그램 오류로 인해 컴퓨터가 워치독을 재가동 시키는데 실패하면 타이머가 시간을 두고 타임 아웃 신호를 생성하게 된다. 이 타임아웃 신호를 통해 컴퓨터를 재부팅 하는 등 여러 조치를 취하게 된다. 이런 워치독 타이머는 당연하게도 별도의 회로를 갖추거나 시스템과 독립적으로 작동하도록 설계되어있다. 보통 사람이 자주 관리하기 힘든 임베디드 시스템 같은 곳에서 주로 사용된다. 구조워치독이 하나인 경우워치독이 시스템에 하나인 경우에는 그림과 같이 클럭 신호를 받고 컴퓨터가 주기적..
BOJ - FizzBuzz 28702
·
코딩테스트
해결방법만약 3의 배수라면 Fizz, 5의 배수라면 Buzz, 3의 배수이면서 5의 배수라면 FizzBuzz를 출력하면 된다.입력받을 때 첫번째 수가 문자인 경우에도 두번째, 세번째 수까지 검사해서 숫자를 하나 찾아낸다. 그 수를 기점으로 시작점을 찾아내고, 세 개의 문자열 다음에 올 수를 찾아 그 수를 fizzbuzz 함수에 집어넣어 출력하는 것이다. 정답 코드#include #include #include using namespace std;string fizzbuzz(long long n){ if (n % 3 == 0 && n % 5 == 0) return "FizzBuzz"; if (n % 3 == 0) return "Fizz"; if (n % 5 == 0..
BOJ - 부녀회장이 될테야 2775
·
코딩테스트
해결방법조금 어려운 문제.0층부터 살고있고, 자신의 아래 층, 예를 들어 1층 2호라면 0층의 1호부터 2호의 사람의 수인 3명을 데려와야 한다.그래서 제한조건인 n반복문을 통해 0층부터 차례대로 사람의 수를 구해준다. 정답 코드#include using namespace std;int main(){ int T; cin >> T; int house[15][15] = { 0 }; for (int n = 1; n > k >> n; cout
BOJ - 데칼코마니 23841
·
코딩테스트
해결방법문자열을 입력받고, 반복문을 통해 양쪽에서 값을 비교한다. 만약 .이 나오게 된다면 그 반대편 문자를 확인하고 .이 맞다면 패스, .이 아니라면 그 문자열을 복사해 대입한다. 정답 코드#include #include #include using namespace std;int main(){ int N, M; cin >> N >> M; vector Decal(N); for (int i = 0; i > Decal[i]; } for (int i = 0; i
BOJ - 너의 평점은 25206
·
코딩테스트
해결방법등급을 입력받으면 그 등급을 점수로 변환해주는 함수를 만들어서 평점을 구한다. 만약 P/F의 경우 계산에서 제외해야 하기 때문에 -1로 변환해준다. 0보다 작은 경우, 즉 P/F의 경우 continue를 통해 넘겨버리면 된다. 정답 코드#include #include #include using namespace std;float getGradePoint(string grade){ if (grade == "A+") return 4.5; if (grade == "A0") return 4.0; if (grade == "B+") return 3.5; if (grade == "B0") return 3.0; if (grade == "C+") return 2.5; if (gra..