본문 바로가기

Algorithm272

[ 파이썬(python) ] 백준 10820 - 문자열 분석 📍 백준 10820 - 문자열 분석 백준 10820 - 문자열 분석 ⚡️ 나의 풀이 문자열 n개가 몇 번째까지인지 모르기 때문에 try except를 사용했다.(except EOFError) 소문자: islower(), 대문자: isupper(), 숫자: isdigit(), 공백: else 각 count누적 while True: try: lower_case, upper_case, number, blank = 0, 0, 0, 0 for i in input(): if i.islower(): lower_case += 1 elif i.isupper(): upper_case += 1 elif i.isdigit(): number += 1 else: blank += 1 print(lower_case, upper_ca.. 2021. 6. 17.
[ 파이썬(python) ] 백준 11723 - 집합 📍 백준 11723 - 집합 백준 11723 - 집합 ⚡️ 나의 풀이 add와 remove 조건에서 중복된 경우는 무시한다는 조건을 보아 set자료형을 사용했다. 그런데, 정답을 제출하니까 keyError가 떴었다 원인을 찾아보다가 remove 함수 때문이었는데, 값이 없는 경우에 remove를 사용하게 되면 keyError가 난다. 이럴 때는 discard함수를 사용하자. 값이 없는 상태에서 discard를 사용해도 에러가 나지 않는다. 또, empty는 빈 집합으로 바꿔야 하는데 그냥 set()으로 초기화해줘도 되지만 clear 함수를 사용해줘도 된다. 시간 복잡도는 크게 차이가 없었다. import sys input = sys.stdin.readline empty_set = set() def add.. 2021. 6. 16.
[ 파이썬(python) ] 백준 5086 - 배수와 약수 📍 백준 5086 - 배수와 약수 백준 5086 - 배수와 약수 ⚡️ 나의 풀이 배수와 약수의 관계를 파악하는 문제다. 기준을 너무 첫 번째 숫자로만 잡아서 생각이 고착되어있던 것 같다. 나의 풀이는 다음과 같다. 두 수를 대소비교한다. a b일 때는 a를 기준으로 약수를 구하고 b가 a의 약수와 같다면 배수(multiple)이고 반복문을 다 돌았는데도 찾지 못하면 neither이다. a == b인 경우는 없다. 이렇게 안 해도 다른 사람은 더욱 쉽게 구현했다. a % b == 0이면 a >= b이고 (이때, a != b), a는 b의 배수(multip.. 2021. 6. 16.
[ 파이썬(python) ] 백준 16935 - 배열 돌리기 3 📍 백준 16935 - 배열 돌리기 3 백준 16935 - 배열돌리기 3 ⚡️ 나의 풀이 2차원배열을 상하, 좌우, 시계 방향으로 90도 회전, 반시계 방향으로 90도 회전, 부분 배열 시계방향 회전, 부분 배열 반시계방향 회전 하는 문제다. 이 문제를 풀 때 indexError를 조심하자. 3번, 4번 연산에서는 반복문의 범위를 n, m을 서로 바꿔주었는데, n != m 일때 범위가 달라지기 때문이다. 그래서 temp 의 `n`, `m`도 서로 자리를 바꿔주었다. 주의할 점은 마지막에 oper를 실행시킬 때 n, m = m, n을 선언해줘서 가로, 세로가 바뀌지 않게 선언하자. 5번, 6번 연산은 조금 어려울 수 있는데 규칙을 알면 어렵지 않다.(규칙을 찾는 과정이 어렵긴 하지만..😅) 다음 사진을 보.. 2021. 6. 15.
[ 파이썬(python) ] 백준 7567 - 그릇 📍 백준 7567 - 그릇 백준 7567 - 그릇 ⚡️ 나의 풀이 단순 구현 문제인데, 그릇을 포갤 때의 방향이 일치하는지 아닌지 판별하면 된다. 맨 처음 그릇은 이전 그릇과 비교할 수 없기 때문에 맨 처음 그릇의 점수 10점을 선언 해준 상태에서 반복문의 범위를 index가 1인 지점부터 len(bowl)까지 확인한다. 반복문 내부에서 이전 그릇과 같으면 5점을 누적시키고, 다르면 10점을 누적시킨다. bowl = input() score = 10 for i in range(1, len(bowl)): if bowl[i-1] == bowl[i]: score += 5 else: score += 10 print(score) 2021. 6. 14.