본문 바로가기

cpp450

[백준] 5555번 : 반지 (C++) 5555번 : 반지 문제 ) 당신은 N개의 반지를 가지고 있다. 각각의 반지는 대문자 10 문자로 이루어진 문자열이 새겨져 있다. 반지는 문자열의 시작과 끝이 연결된 형태로 문자가 새겨져 있다. 반지에 각인된 문자열을 거꾸로 읽는 걱정은 없다. 찾고자하는 문자열이 주어졌을 때 그 문자열을 포함하는 반지가 몇 개인지를 발견하는 프로그램을 작성하라. 입력 : 입력은 총 2 + N 줄 이다. 첫 번째 줄에는 1 자 이상 10 자 이하의 대문자로 구성된 찾고자 하는 문자열이 적혀있다. 두 번째 줄에는 반지의 개수 N (1 ≦ N ≦ 100)이 적혀있다. 2+i 줄(1 ≦ i ≦ N)엔 i개의 반지에 새겨져있고, 10 문자로 이루어진 문자열이 적혀있다. 출력 : 찾고자하는 문자열을 포함 반지의 개수를 나타내는 정.. 2023. 2. 7.
[백준] 1212번 : 8진수 2진수 (C++) 1212번 : 8진수 2진수 문제 ) 8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오. 입력 : 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. 출력 : 첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다. 풀이) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #include #include #include using namespace std; int main() { cin.tie(0); ::i.. 2023. 2. 7.
[백준] 1373번 : 2진수 8진수 (C++) 1373번 : 2진수 8진수 문제 ) 2진수가 주어졌을 때, 8진수로 변환하는 프로그램을 작성하시오. 입력 : 첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다. 출력 : 첫째 줄에 주어진 수를 8진수로 변환하여 출력한다. 풀이) 분명 풀이가 제대로 맞는거 같은데 자꾸 틀려서 문제를 해결하느라 한참이 걸렸다. 이유는 입력으로 주어지는 수의 길이가 최대 100만인데, 이정도 크기의 숫자는 long long으로도 처리가 되지 않기 때문에 코드에 문제가 생긴 것이었다. 따라서 2진수를 8진수로 바꾸기 위해서는 해당 문자열을 3개씩 끊어서 8진수로 변환하는 방법이 가장 적합하다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #.. 2023. 2. 7.
[백준] 11005번 : 진법 변환 2 (C++) 11005번 : 진법 변환 2 문제 ) 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 입력 : 첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) N은 10억보다 작거나 같은 자연수이다. 출력 : 첫째 줄에 10진법 수 N을 B진법으로 출력한다. 풀이) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 #include #include using namespace s.. 2023. 2. 7.