728x90

분류 전체보기 74

[python 파이썬] 조건문 if문 한 줄로 정리

파이썬에서 조건문은 if 문과 elif 문 혹은 else 문으로 이루어지며 보통은 각각을 한 줄씩 적는다. 예를 들면 아래와 같다. Score = 100 if Score == 100: Grade = 'A' elif Score > 70: Grade = 'B' else: Grade = 'C' print(Grade) ##'A' 하지만 간단한 조건문을 위해 6줄이나 소요해야한다. 이것을 조금 더 간략화하기 위해 콜론 옆에 Grade를 정의해줄 수 있다. Score = 100 if Score == 100: Grade = 'A' elif Score > 70: Grade = 'B' else : Grade = 'C' print(Grade)##'A' 첫 번째 코드보다 두 번째 코드가 더 간략한 걸 확인할 수 있다. 그렇..

[python 파이썬] 코딩테스트 준비 (리스트, 딕셔너리)

리스트 정렬하기 A = ['a','d','b','c','e'] print(sorted(A)) ## 오름차순 abcde print(list(reversed(sorted(A)))) ## 내림차순 edcba print(sorted(A)[::-1]) ## 내림차순 edcba 딕셔너리 A ={0:'병아리', 1:'공룡', 2:'사자', 3:'호랑이'} print(A.keys()) ## dict_keys([0, 1, 2, 3]) print(A.values()) ## dict_values(['병아리', '공룡', '사자', '호랑이']) print(A.items()) ## dict_items([(0, '병아리'), (1, '공룡'), (2, '사자'), (3, '호랑이')])

[python 파이썬] 코딩테스트 준비 (문자열)

코딩테스트를 준비하면서(사실 너무 취미처럼 푼 것이라 준비했다고 하기도 뭐하지만ㅎㅎ) 생각보다 기초적인 지식이 부족한 것을 느꼈다. 그래서 한 번에 볼 수 있게 정리를 하려고 한다! 문자열 1) 문자열 split A = 'ab.c de.f' ## Case 1 --> ['ab.c', 'de.f'] print(A.split(' ')) ## Case 2 --> [['ab','c'],['de','f']] print([A.split(" ")[i].split(".") for i in range(len(A.split(' ')))]) ## Case 3 --> ['ab','c','de','f'] import re print(re.split('[. ]', A)) print(A.replace('.', ' ').split('..

[백준, python 파이썬] 2447번 : 별찍기-10(재귀)

백준 2447번 문제 풀기 https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 문제 설명 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N..

[백준, python 파이썬] 2292번 : 벌집(기본 수학1)

백준 2292번 문제 풀기 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 문제 설명 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지..

[백준, python 파이썬] 1712번 : 손익분기점(기본 수학1)

백준 1712번 문제 풀기 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 문제 설명 문제 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 ..

[백준, python 파이썬] 1316번 : 그룹 단어 체커(문자열)

백준 1316번 문제 풀기 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제 설명 문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를..

[백준, python 파이썬] 2941번 : 크로아티아 알파벳(문자열)

백준 2941번 문제 풀기 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 문제 설명 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. dž는 ..

[Python, API] Com Interface 연결 시 에러 해결 방법(AttributeError)

파이썬으로 Vissim Com Interface를 불러오던 도중 에러가 발생했다. 거의 2년동안 잘 사용한 코드였는데 오늘 갑자기, 뜬금없는 에러가 나서 매우 당황했다. VISSIM을 불러오던 도중 난 에러는 다음과 같다. AttributeError: module 'win32com.gen_py.46BC06CD-79C5-4A6A-B716-56EB76F8BAEFx0x20x0' has no attribute 'CLSIDToClassMap' 열심히 구글링 해 본 결과 원인은 알 수 없었지만 해결방법은 알아냈다. 이렇게 win32com에 어떠한 attribute(속성)이 없다는 에러가 나면 46BC06CD-79C5-4A6A-B716-56EB76F8BAEFx0x20x0

파이썬(Python) 2022.03.25

[백준, python 파이썬] 5622번 : 다이얼(문자열)

백준 5622번 문제 풀기 https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 문제 설명 문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. ​ 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩..

728x90