전체 글
![백준 4172번 sqrt log sin // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMK8qt%2FbtqB3qa7ZWP%2F1G50jbrOKq1QwzLyhM1jqK%2Fimg.png)
백준 4172번 sqrt log sin // C++
문제 도현이는 수학 숙제를 하고 있다. 문제는 다음과 같다. 다음과 같이 재귀적으로 정의된 수열이 있다. i가 주어졌을 때, xi를 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 한 줄에 하나씩 주어진다. 각 줄에는 i가 주어지며, 이 수는 0보다 작지 않고, 백만보다 크지 않다. 입력의 마지막 줄에는 -1이 주어지며, 이 수는 입력의 마지막을 나타내는 수이다. 출력 입력으로 주어진 i마다 x_i를 1000000로 나눈 나머지를 출력한다. 풀이 C++에서의 cmath 라이브러리를 사용하면 쉬운 문제다. 최대 수가 백만이고, 시간 제한이 있어서 처음부터 백만까지 계산한 뒤 입력을 받고 출력을 하는 식으로 풀었다. 내림 함수 : double floor(double n..
![백준 4246번 To and Fro // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb4cfuw%2FbtqB3WHEzPe%2F7J6GDYvvk68aO2IjKyBiAk%2Fimg.png)
백준 4246번 To and Fro // C++
문제 Mo and Larry have devised a way of encrypting messages. They first decide secretly on the number of columns and write the message (letters only) down the columns, padding with extra random letters so as to make a rectangular array of letters. For example, if the message is “There’s no place like home on a snowy night” and there are five columns, Mo would write down Note that Mo includes only ..
![백준 15685번 드래곤 커브 // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbe0Bwx%2FbtqB5GD1SjR%2FFq14LNeOyKWaJoRtsCyCW1%2Fimg.png)
백준 15685번 드래곤 커브 // C++
문제 드래곤 커브는 다음과 같은 세 가지 속성으로 이루어져 있으며, 이차원 좌표 평면 위에서 정의된다. 좌표 평면의 x축은 → 방향, y축은 ↓ 방향이다. 시작 점 시작 방향 세대 0세대 드래곤 커브는 아래 그림과 같은 길이가 1인 선분이다. 아래 그림은 (0, 0)에서 시작하고, 시작 방향은 오른쪽인 0세대 드래곤 커브이다. 1세대 드래곤 커브는 0세대 드래곤 커브를 끝 점을 기준으로 시계 방향으로 90도 회전시킨 다음 0세대 드래곤 커브의 끝 점에 붙인 것이다. 끝 점이란 시작 점에서 선분을 타고 이동했을 때, 가장 먼 거리에 있는 점을 의미한다. 2세대 드래곤 커브도 1세대를 만든 방법을 이용해서 만들 수 있다. (파란색 선분은 새로 추가된 선분을 나타낸다) 3세대 드래곤 커브도 2세대 드래곤 커브..
![백준 6603번 로또 // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQoxdP%2FbtqB3oYFNWp%2F0z6akqDBAjUkl6nbFkQ1y1%2Fimg.jpg)
백준 6603번 로또 // C++
문제 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34]) 집합 S와 k가 주어졌을 때, 수를 고르는 모든 방법을 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 ..
![백준 6679번 싱기한 네자리 숫자 // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnXQrN%2FbtqB5ichmY9%2F5e06FBjnG04riyrCpPHAV0%2Fimg.png)
백준 6679번 싱기한 네자리 숫자 // C++
문제 싱기한 네자리 숫자란, [1000,9999]인 10진수 숫자중에서, 다음의 조건을 만족하는 숫자를 말한다. 숫자를 10진수, 12진수, 16진수로 나타낸 다음, 각각의 숫자에 대해, 각 숫자의 자리수를 더했을 때, 세 값이 모두 같아야 한다. 여러분은 싱기한 네자리 숫자를 모두 출력해야 한다. 입력 입력은 주어지지 않는다. 출력 싱기한 네자리 숫자를 오름차순으로 한줄에 하나씩 출력한다. 풀이 10진법의 수 N을 x진법의 수로 나타내기 위해서는, N을 x로 나눴을 때의 나머지를 쭉 적다가 x보다 작아졌을 때 모두 합쳐서 적으면 된다. 예를 들어 문제의 2992를 12진법으로 변환할 때는 다음과 같이 연산을 수행하면 된다. 이처럼 수를 각각 10진수, 12진수, 16진수로 변환했을 때의 자리 수의 합이..
![백준 4690번 완전 세제곱 // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fya5tQ%2FbtqB41hwKt7%2FPXrRmy2lM0SGaufnZ82BMK%2Fimg.jpg)
백준 4690번 완전 세제곱 // C++
문제 페르마의 마지막 정리는, a, b, c가 0이 아닌 정수이고, n이 2보다 큰 자연수 일 때, an = bn + cn을 만족하는 자연수 a, b, c가 존재하지 않는다는 정리이다. 이 정리는 아직 증명되지 않았다. 하지만, 완전 세제곱 방정식 a3 = b3 + c3 + d3을 만족하는 1보다 큰 자연수를 찾는 것은 어렵지 않다. (123 = 63 + 83 + 103) 이러한 완전 세제곱 방정식과 a ≤ 100을 만족하는 {a, b, c, d}쌍을 모두 찾는 프로그램을 작성하시오. 입력 이 문제는 입력이 없다. 출력 a값이 증가하는 순서대로 아래 출력 형식과 같이 출력한다. b, c, d도 증가하는 순서로 이루어져야 한다. a값에 해당하는 b, c, d쌍이 여러 개 존재할 수 있다. 이때는 b 값이 ..
![백준 1620번 나는야 포켓몬 마스터 이다솜 // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6LHDj%2FbtqB1cLdU23%2FbRSI9pC9rzakotYXix9Vik%2Fimg.png)
백준 1620번 나는야 포켓몬 마스터 이다솜 // C++
문제 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 물어봐도 괜찮아. 나는 언제든지 질문에 답해줄 준비가 되어있어. 둘째 줄부터 N개의 줄에 포켓몬의 번호가 1번인 포켓몬부터 N번에 해당하는 포켓몬까지 한 줄에 하나씩 입력으로 들어와. 포켓몬의 이름은 모두 영어로만 이루어져있고, 또, 음... 첫 글자만 대문자이고, 나머지 문자는 소문자로만 이루어져 있어. 포켓몬 이름의 최대 길이는 20이야. 그 다음 줄부터 총 M개의 줄에 내가 맞춰야하는 문제가 입력으로 들어와. 문제가 알파벳으로만 들어오면 포켓몬 번호를 말해야 하고, 숫자로만 들어오면, 포켓몬..
![백준 1764번 듣보잡 // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfUWKy%2FbtqB0fBt15Q%2FTdHhZ7I62YD0TC7UTbYmn1%2Fimg.jpg)
백준 1764번 듣보잡 // C++
문제 김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 이름은 띄어쓰기 없이 영어 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다. 출력 듣보잡의 수와 그 명단을 사전순으로 출력한다. 풀이 N 명의 듣지도 못한 사람과 M 명의 보지도 못한 사람 중 공통된 사람을 사전순으로 출력하는 문제이다. 처음엔 N명의 사람을 입력받은 뒤, find 함수를 사용하여 하나씩 찾았는데 시간 초..