일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 사회조사분석사 2급 독학
- 정렬
- 사회조사분석사2급실기신청
- 너비우선탐색
- 백준
- 알고리즘
- 현대엔지니어링
- 머신러닝
- 사이킷런
- 사회조사분석사2급실기신청꿀팁
- 사회조사분석사 2급 필기 요약정리
- 사회조사분석사 2급 접수
- 사회조사분석사 2급 공부방법
- 공모주
- BFS
- 공모주 청약
- 오미크론 자가격리
- 현대엔지니어링 수요예측
- 그리디
- 사회조사분석사 2급
- 공모주청약
- 사회조사분석사 2급 기출문제집
- 2월공모주
- 벽부수고이동하기 파이썬
- 백준 알고리즘
- 파이썬 정렬
- 시물레이션
- DFS
- 사회조사분석사 2급 필기 시험시간
- 사회조사분석사 2급 필기 공부방법
- Today
- Total
목록PS Study/BOJ(백준) (56)
세상을 바꾸는 데이터

문제 링크: https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 문제 풀이: 이 문제는 크로아티아 알파벳과 일반 알파벳을 분리하여 알파벳의 개수를 세는 문제이다. 1. 크로아티아 알파벳이 입력값에 있다면 이를 다른 문자 1개로 대체한다. ex) 'dz=' -> '*' 2. 입력값 문자열의 개수를 출력하면 된다. ※ 여기서 주의할 점은 문자열 'dz='와 'z='이다. 'dz='은 'z='를 포함하고 있으므로, ..

문제 링크: https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 문제 풀이: 숫자를 0으로 다 뒤집거나 1로 다 뒤집는다. 0으로 뒤집을 때의 횟수와 1로 뒤집을 때의 횟수를 비교하여 작은 값을 출력한다. 풀이 코드: # 1439번 뒤집기 data = input() count0 = 0 # 전부 0으로 바뀌는 경우 count1 = 0 # 전부 1로 바뀌는 경우 # 첫 번째 원소에 대해서 처리 if data[0] == '1': count0 += 1 e..

문제 링크: https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제 풀이: 똑같은 알파벳으로 이어져 있다면 pass 현재 알파벳과 다음 알파벳이 같지 않고, 현재 알파벳이 2개 이상일 경우에는 그룹 단어에 포함시키지 않는다. 풀이 코드: # 1316번 그룹 단어 채커 n = int(input()) ans = n for _ in range(n): word = input() # 알파벳 순서대로 비교 for i in r..

문제 링크 https://www.acmicpc.net/problem/4796 4796번: 캠핑 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다. www.acmicpc.net 문제 풀이 만약 L = 5, P = 8, V = 20이라고 하면 강산이의 휴가는 20일이며, 캠핑장은 연속하는 8일 중 5일만 사용할 수 있다. 이에 대한 답을 도출해보면... 1-8일 휴가에 캠핑장 5일 이용 9-16일 휴가에 캠핑장 5일 이용 17- 20일 휴가에 캠핑장 4일 이용 총 14일 동안 캠핑장을 사용할 수 있다. 이를 일반화된 식으로 쓰게 되면 1~16일 차까지는 (..

문제 링크 https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 문제 풀이 문제에서 주어진 생성자가 있는 숫자를 함수를 이용해 만든다. 집합 하나를 만들어 생성자가 있는 숫자를 모두 추가한다. 전체 set(1부터 10000까지) - 생성자가 있는 숫자 set을 한다. (차집합) 생성자가 없는 숫자들의 집합을 오름차순 정렬 후 한 줄에 하나씩 출력한다. 이 문제는 대표적인 구현 및 완전 탐색의 문제로 ..

문제 링크: https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 문제 풀이: 입력받은 각 단어들이 위치하고 있는 값을 알파벳마다 입력해준다. 먼저 빈 리스트를 영어 알파벳 개수만큼 생성해주고 값을 0으로 채운다. ACE = 100 * A + 10 * C + 1 * E 가 있다고 하면, alpha[A] = 100, alpha[C] = 10, alpha[E] = 1을 빈 리스트에 더해주면 된다. 예를 들어 ACE + EBDF 문제가 있다고 하자...

문제 링크: https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 문제 풀이: 1부터 차례대로 순서대로 더하면서 횟수(ans) +1씩 증가시킨다. 입력값이 sum보다 작아지면 종료 코드 1 # 1789번 수들의 합 s = int(input()) sum = 0 i = 1 ans = 0 # 입력값(s)이 1부터 차례대로 더한 값(sum)보다 작아지면 종료 while s >= sum: sum += i i += 1 ans += 1 # while문을 마지막에 1번 더 반복했으므로 정답값에 -1 빼기 print(ans-1) 코드 2 합의 공식 이용 1부터 n까지의 합의 공식: ..

문제 링크: https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 문제 풀이: 이 문제의 핵심은 거리에 상관없이 도시마다 최소한의 가격으로 도시를 지나가야 한다. (현재 상황에서 지금 당장 좋은 것만 고르는 기법인 그리디 알고리즘 문제에 해당) 전 주유소보다 현 주유소가 가격이 싸다면 현 주유소에서 충전 (처음 기름 충전은 첫 도시에서 해야 하므로 반복문 전에 변수 m을 만든다) 이를 토대로 반복문을 이용하여 도로를 건너야 한다. # ..