- [ CS/코딩 테스트 ][Python] 점프 투 파이썬_종합문제_Q14_문자열 압축하기2021-12-09 16:51:00문제 https://wikidocs.net/17114 08장 종합문제 파이썬은 웹, GUI, 네트워크, 딥러닝 등 상당히 많은 일을 할 수 있는 언어이다. 여러분이 지금까지 배운 내용을 충분히 숙지했다면 이제 이들을 향해 첫발을 내디딜 준비를 ... wikidocs.net 점프 투 파이썬 Q14 문제의 지문은 다음과 같다. Q14 문자열 압축하기 문자열을 입력받아 같은 문자가 연속적으로 반복되는 경우에 그 반복 횟수를 표시해 문자열을 압축하여 표시하시오. 입력 예시: aaabbcccccca 출력 예시: a3b2c6a1 작성 코드 아래는 Q14 문제를 해결하기 위해 작성한 코드이다. s = 'aaabbcccccca' # 입력값 rst = '' cnt = 1 for i in range(1, len(s)-1)..
- [ CS/코딩 테스트 ][Python] 점프 투 파이썬_종합문제_Q13_DashInsert 함수2021-12-09 10:41:08문제 https://wikidocs.net/17114 08장 종합문제 파이썬은 웹, GUI, 네트워크, 딥러닝 등 상당히 많은 일을 할 수 있는 언어이다. 여러분이 지금까지 배운 내용을 충분히 숙지했다면 이제 이들을 향해 첫발을 내디딜 준비를 ... wikidocs.net 점프 투 파이썬 Q13 문제의 지문은 다음과 같다. Q13 DashInsert 함수 DashInsert 함수는 숫자로 구성된 문자열을 입력받은 뒤 문자열 안에서 홀수가 연속되면 두 수 사이에 - 를 추가하고, 짝수가 연속되면 * 를 추가하는 기능을 갖고 있다. DashInsert 함수를 완성하시오. 입력 예시: 4546793 출력 예시: 454*67-9-3 작성 코드 아래는 Q13 문제를 해결하기 위해 작성한 코드이다. def Dash..
- [ CS/코딩 테스트 ][알고리즘][파이썬] 백준_1018_체스판 다시 칠하기2021-12-07 17:00:01https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 8×8의 크기의 체스판을 만들어야 하는데, 검은색(B)과 흰색(W)이 번갈아서 칠해져 있어야 한다. 이 규칙에 어긋나는 칸은 규칙에 맞게 색을 칠해야 한다. 8×8 크기의 체스판을 잘라 내었을때, 규칙에 맞지 않아 색을 칠해야 하는 최소 칸 수를 출력해야 한다. 제출 전 코드 # 제출전 테스트에서 오답 출력을 발견함 # 31이 정답이나 32가 출력됨 NM = [ 'BBBBBBBBBBBBBB..
- [ CS/코딩 테스트 ][알고리즘][파이썬] 백준_7568_덩치2021-12-05 17:47:08"만일 자신보다 더 큰 덩치의 사람이 k명이라면 그 사람의 덩치 등수는 k+1이 된다." 이 문제의 핵심이 되는 문장이다. 덩치 비교 시 몸무게와 키를 각각 비교하게 되는데, 둘 다 비교 대상의 우위에 있다면 상위 등수, 둘 중 하나라도 우위에 있다면 동일한 등수, 둘 두 적다면 하위 등수에 속하게 된다. 사용한 변수 명 N : 총 인원수 lst : 몸무게, 키 리스트(list) x : 몸무게 y : 키 cnt : 등수 카운트(count) rst : 등수 결과(result) 제출 코드 # 조건에 해당되는 경우 등수 +1 누적(결과: 맞았습니다!) N = int(input()) lst = [] for _ in range(N): x, y = map(int, input().split()) lst.append(..
- [ CS/코딩 테스트 ][알고리즘][파이썬] 백준_2231_분해합2021-12-03 16:59:33정수 N이 주어졌을때, 그 정수의 생성자 M을 출력해야 한다. 정수 N은 생성자 M을 이용해 만들어진 숫자다. 공식은 다음과 같다. N = M + M의 각 자리 수의 합 예) 216 = 198 + (1 + 9 + 8) 사용한 함수, 변수 명 N : 입력값 M : 생성자 n : 입력값 매개변수 cons : 생성자 함수(constructor) div : M의 각 자리 수의 합(division) decom : 분해합(decompose) rst : 출력값(result) 1차 시도 # None 미처리(결과: 틀렸습니다) def cons(n): for M in range(1, n+1): div = sum(list(map(int, str(M)))) decom = M + div if decom == n: return ..
- [ CS/코딩 테스트 ][알고리즘][파이썬] 백준_2798_블랙잭2021-12-02 12:38:35N장의 카드가 주어졌을때, 카드 3장의 숫자 합이 M을 넘지 않으면서 M에 최대한 가까운 값을 구해 출력해야 한다. 제출 코드 # for반복문, max함수 이용(결과: 맞았습니다!) def bkj(N, M): rst = [] for i in range(N): for j in range(i+1, N): for k in range(j+1, N): n = lst[i] + lst[j] + lst[k] if n
- [ 언어·프레임워크/Python ][Python] dbm to xlsx 어플리케이션 만들기2021-12-01 12:00:34제작 동기 Microsoft Access의 dbm에서 원하는 기간에 해당하는 row를 xlsx파일로 내보내는 [그림1]과 같은 어플리케이션을 만들어 보았다. 그동안 생산 작업일보를 Access로 관리하고 있었고, Access의 보고서 기능을 이용해 부장님께 일일 생산보고를 진행해 왔었다. 어느날 부장님께서는 직접 데이터를 다루기 원하셨다. 하지만 Excel에 익숙하신 부장님은 Access를 불편해 하셨다. 그래서 dbm to xlsx 어플리케이션을 만들게 되었다. 작성 코드 사용된 주요 Python 라이브러리는 PyQt5, pandas, pyodbc 이다. import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5 impo..
- [ CS/코딩 테스트 ][알고리즘][파이썬] 백준_11729_하노이 탑 이동 순서2021-11-30 00:12:54문제 지문의 그림을 보면 원판에 번호가 있다. 이 원판의 번호는 아무 의미 없으므로 무시해야 한다(원판은 크기가 중요). 규칙은 한 번에 한 개의 원판만 옮겨야 하고, 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 하며, 이동 횟수는 최소가 되어야 한다. [그림1]은 이해를 돕기 위해 원판 3개의 경우를 움직이는 그림으로 만들어 보았다. 예제 입력이 3인 경우의 출력 결과는 다음과 같다. 7 # 원판을 옮긴 총 횟수 1 3 # (이하) 원판이 옮겨진 위치(예: 1번 장대에서 3번 장대로 이동) 1 2 3 2 1 3 2 1 2 3 1 3 예제 입력 3인 경우를 [그림2]로 나타내 보았다. 제출 코드 # 재귀함수 이용(결과: 맞았습니다!) def hanoi(n, a, b, c): if n == 1:..