본문 바로가기

728x90

EOF

[백준알고리즘] 4779번: 칸토어 집합-C++ 4779번: 칸토어 집합 (acmicpc.net) 4779번: 칸토어 집합 칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고, www.acmicpc.net 칸토어 집합이 뭔지 궁금해서 찾아봤다. 칸토어 집합 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 근데 내용이 뭔 말인지 모르겠어서 일단 풀었다. 문제 자체는 문자열을 이용해 쉽게 풀 수 있었다. 같은 구조가 내부적으로 반복되기 때문에 분할 정복 알고리즘을 이용했다. 문제 풀이 선의 길이가 1이 될 때까지 반복하면서, 선을 계속해서 3등분을 했다. 첫 번째 조각과 마지막 세 번째 조각은 재귀적으.. 더보기
[백준알고리즘] 4375번: 1 -C++ (테스트케이스의 개수가 주어지지 않은 경우) [백준알고리즘] 4375번: 1 -C++ (테스트케이스의 개수가 주어지지 않은 경우) 4375번: 1 (acmicpc.net) 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 정수론 문제를 보다가 재밌어 보여서 풀어봤다. 처음에 문제가 뭔 소리인지 몰랐다가 문제를 이해하고 나서는 쉽게 풀 수 있었다. 잘못된 점이나 부족한 점 지적해주시면 감사하겠습니다 문제 풀이 문제에서 요구하는 것은 정말 1로 이루어진 수(1, 11, 111,...) 중에서 N의 배수인 값의 자릿수를 구하는 것이다. 따라서, 정말 간단하게 뒤에 1을 붙이면서 N으로 나누어 떨어지는지 확인하면 된다. .. 더보기
[백준알고리즘] 10820번: 문자열 분석 -Python [백준알고리즘] 10820번: 문자열 분석 -Python https://www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다. www.acmicpc.net 이번 문제는 문자의 타입을 구분하는 문제이다. 파이썬으로 풀었기 때문에 is~()라는 메서드들을 이용해서 간단하게 해결했다. 파이썬이 아니라 다른 언어로 해결을 하려고 한다면 아스키코드표를 이용하면 될 것이다. isupper()의 경우 문자가 65~90에 해당할 것이고, islower()의 경우에는 97~122에 해당할 것이다. 숫자.. 더보기

728x90