전체 보기

    [1431번] 시리얼 번호

    백준 1431번: 시리얼 번호 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 1,000보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루어져 있다. 시리얼 번호는 중복되지 않는다. www.acmicpc.net 단순한 구현 문제입니다. algorithm 헤더에 포함된 sort 함수의 compare 부분의 인자를 잘 작성할 수 있는지를 물어보는 문제입니다. 이런 문제를 풀기 위해서는 STL 공부를 잘해야겠죠? 단순히 조건에 따라 compare 함수를 작성해주면 됩니다. [소스 보기]

    [11966번] 2의 제곱인가?

    백준 11966번: 2의 제곱인가? 11966번: 2의 제곱인가? 자연수 N이 주어졌을 때, 2의 제곱수면 1을 아니면 0을 출력하는 프로그램을 작성하시오. www.acmicpc.net 2의 제곱인지를 검사하는 문제입니다. 입력되는 값 $N$의 범위가 $ 1 \leq N \leq 2^{30} $ 이라서 int 범위 안에서 조절할 수 있다는 걸 알 수 있었습니다. 그리고 2로 계속 나누면서 feasibility를 검사하는 것은 시간 초과가 나올 것 같다는 생각이 들었습니다. 그래서 저는 문제의 제목이 2의 제곱인만큼 비트를 검사하는 것이 아닐까라고 생각했습니다. 이를 검사하기 위해 비트 연산을 사용하여 풀려했습니다. 접근법은 2의 제곱수의 특징에서 보았는데, 단 하나의 1과 나머지 0으로 이루어진 이진수가..

    [1075번] 나누기

    백준 1075번: 나누기 1075번: 나누기 첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다. www.acmicpc.net 저는 이 문제를 보자마자 그리 크지 않은 수에 시간제한도 1초라 '브루트 포스 알고리즘'을 사용해도 상관없을 거라 생각했습니다. 그래서 for문을 통해 하나하나 검사해주었습니다. [소스 보기]

    [9713번] Sum of Odd Sequence

    백준 9713번: Sum of Odd Sequence 9713번: Sum of Odd Sequence First line of the input contains T, the number of test cases. Each test case contains a single integer N. N is between 1 and 100. www.acmicpc.net 간단한 수학 문제입니다. 테스트 케이스 $T$개만큼 홀수 $N$를 입력받고, 1부터 N까지의 홀수의 합을 출력하면 된다. 풀 수 있는 방법은 for문 같은 반복문을 이용하여 직접 더해줄 수도 있지만, 좀 더 빠르게 하려면 우리가 배운 간단한 수열의 합을 이용하면 됩니다. 1~N까지의 홀수의 합(1+3+ ... + N) : $ (\frac{N + 1..

    [2456번] 나는 학급회장이다

    백준 2456번: 나는 학급회장이다 2456번: 나는 학급회장이다 첫째 줄에는 반의 학생들의 수 N (3 초등부 2번 간단할 줄 알고 했는데 의외로 코드 길이가 길어지길래 놀랐습니다. 조건을 잘 맞추어 코딩하기만 하면 되는데 어떻게 하면 간단히 작성할 수 있을까를 생각하는데 집중했습니다. 일단 조건문이 중요하니 본문에서 언급된 조건들이 잘 처리되도록 if ~ else if 문을 적절히 사용했습니다. 그리고 맞긴 했지만 1133Byte라는 긴 코드가 나오더군요... 그래서 다른 분들이 푼 것 중 450Byte 근처로 나온 코드를 보니 대단하더군요. 그중 마음에 들었던 하나는 pair p[3]으로 선언을 하고 p[i].first -> 입력받은 i번 후보의 선호도(1, 2, 3)를 모두 더하는 곳 p[i].s..

    [2998번] 8진수

    백준 2998번: 8진수 2998번: 8진수 문제 창영이는 여러 가지 진법을 공부하고 있다. 창영이는 어제 2진법을 배웠고, 오늘은 8진법을 배웠다. 이제, 2진법 수를 8진법 수로 변환하려고 한다. 창영이가 사용한 방법은 다음과 같다. 2진수의 길이가 3으로 나누어 떨어질 때 까지 수의 앞에 0을 붙인다. 그 다음, 3자리씩 그룹을 나눈다. 아래의 표를 참고해 8진수로 바꾼다. 2진수가 주어졌을 때, 창영이가 사용한 방법을 이용해 8진수로 바꾸는 프로그램을 작성하시오. 000 0 001 1 010 www.acmicpc.net 주어진 조건대로 이진수 문자열을 받은 뒤, 이를 8진수로 변환하여 출력해주면 되는 문제이다. 물론 문자열로 받지 않고 숫자로 받은 뒤 한 자리씩 끊어 풀 수도 있다. [소스 보기]

    [10990번] 별 찍기 - 15

    백준 10990번: 별 찍기 - 15 10990번: 별 찍기 - 15 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 프로그래밍을 시작하고 처음 접하는 문제 중 하나인 별 찍기 문제입니다. 이 문제는 별들이 트리처럼 생겼군요. 예를 들어 $n$이 3이라면, * * * * * [소스 보기]

    [17010번] Time to Decompress

    백준 17010번: Time to Decompress 17010번: Time to Decompress The output should be L lines long. Each line should contain the decoding of the corresponding line of the input. Specifically, if line i+1 of the input contained N x, then line i of the output should contain just the character x printed N times. www.acmicpc.net 쉬운 문제입니다. 그냥 반복 출력하면 끝인 문제군요. [소스 보기]

    [1002번] 터렛

    백준 1002번: 터렛 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 백준 홈페이지가 만들어지고 거의 처음에 나온 문제입니다. 정답률은 약 18%로 그리 높지 않군요. 제 생각에는 조건 처리의 miss나 데이터형의 문제 때문일 가능성이 높다고 생각됩니다. 고등학교 교육과정에서 배우는 두 원 사이의 위치 관계에 대해 다루고 있습니다. 즉 간단히 말해서 두 원이 만나는 교점의 개수를 세는 문제입니다. 두 원의 각각의 반지름과 두 원의 중심 사이의 거리를 구해서 그 관계를 따지면 됩니다. (혹시 잊으셨을 분들을 위해 [여기]를 참고해주세요!) 제가 바로 맞춰서 추측..