본문 바로가기
728x90

코딩테스트4

[c++] 백준 키로거(5397), 연결리스트, 반례모음 문제 https://www.acmicpc.net/problem/5397 문제 창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에 입력하는 글자를 얻어냈다. 키로거는 사용자가 키보드를 누른 명령을 모두 기록한다. 따라서, 강산이가 비밀번호를 입력할 때, 화살표나 백스페이스를 입력해도 정확한 비밀번호를 알아낼 수 있다. 강산이가 비밀번호 창에서 입력한 키가 주어졌을 때, 강산이의 비밀번호를 알아내는 프로그램을 작성하시오. 강산이는 키보드로 입력한 키는 알파벳 대문자, 소문자, 숫자, 백스페이스, 화살표이다. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서.. 2023. 7. 13.
[c++] 백준 숫자의 개수(2577), 배열 문제 https://www.acmicpc.net/problem/2577 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 입력 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. 출력 첫째 줄에는 A × B × C의 결과에 0 이 몇 번 쓰였는지 출력한다. 마찬가지로 둘째 줄부터 열 .. 2023. 7. 13.
[c++] 2. 기초 코드 작성 요령 2 문제 풀이 └ A+B (1000) └ 세수정렬 (2752) └ 윤년 (2753) └ 주사위 세 개 (2480) └ 윷놀이 (2490) └ 홀수 (2576) └ 대푯값2 (2587) └ 일곱 난쟁이 (2309) └ 숫자 (10093) └ 핸드폰 요금 (1267) └ 카드 역배치 (10804) └ 최댓값 (2562) Git-Hub 코드 https://github.com/intlabSeJun/c-plus-coding-test/tree/master/2.%20%EA%B8%B0%EC%B4%88%20%EC%BD%94%EB%93%9C%20%EC%9E%91%EC%84%B1%20%EC%9A%94%EB%A0%B9%20ll 알게 된 것 1. STL(Standard Template Library)에 대해서 알게됨 vector는.. 2023. 7. 13.
[c++] 1. 코드 작성 요령 1 - 문제 3 문제 3 * N이 제곱수이면 1을 반환하고 제곱수가 아니면 0을 반환하는 함수 func3(int N)을 작성하라. * N은 10억 이하의 자연수이다. * * 출력 예시 * func3(9) = 1, * func3(693953651) = 0, * func3(756580036) = 1 풀이 제곱수인지 판단하는 문제이므로, 제곱근의 존재 유무를 파악한다. 1. math.h의 sqrt() 함수 이용 2. sqrt()함수를 직접 구현 - 바빌로니아 법 알고리즘(https://s-realstory.tistory.com/17) └ 임의의 수의 제곱근에 빠르게 수렴하는 수열을 만들어 근사값을 구하는 방법. └ 수학적으로 이차방정식의 근을 근사하는 것과 같다고 함. where, x_n = 추정된 근사값, a = 제곱근을 .. 2023. 7. 12.
728x90