본문 바로가기

분류 전체보기521

[ 파이썬(python) ] 삼각수(계차수열) 나타내기 📍 삼각수 나타내기 삼각수의 정의: 위키백과 6의 배수씩 증가하는 계차수열을 구할 때는 다음과 같이 작성하자. temp은 종료 조건을 넣기 위해 넣었다. temp = 100 difference = 1 i = 1 while temp > difference: difference = difference + ( 6 * i ) i += 1 print(difference) 2021. 6. 20.
[ 파이썬(python) ] 백준 2292 - 벌집 📍 백준 2292 - 벌집 백준 2292 - 벌집 ⚡️ 나의 풀이 계차수열을 수학적으로 구현 할 수 있는지 묻는 문제이다. 규칙을 자세히보면 1, 7, 19, 37, 81...인데 여기서 계차는 6의 배수만큼 증가한다. 즉, equation = equation + (6 * i)에서 결과값에 +1씩 더한 값이 된다. 하지만 반복문 안에 +1을 넣으면 +1이 들어간채로 누적되기때문에 값이 달라진다. 따라서 조건절에서 +1을 넣고 n과 비교했다. 다른 사람의 풀이를 봤는데 while문으로 간단하게 풀었다. 놀랐다. cnt를 따로 쓸 생각을 하지 않고 i값으로 출력 할수도 있구나라는 생각을 했다. 그리고 왜 1일때의 조건은 따로 안넣어줬는지 의문이 생겼는데, 1일때는 while문에 걸리지 않기때문에 생략했다. .. 2021. 6. 18.
[ 파이썬(python) ] 백준 6359 - 만취한 상범 📍 백준 6359 - 만취한 상범 백준 6359 - 만취한 상범 ⚡️ 나의 풀이 언뜻 보면 저번에 풀었던 백준 1244 - 스위치 켜고 끄기문제와 비슷한데, 범위 전체를 살펴보면서 상태를 바꾼다는 점이 조금 다르다. (1244 문제는 주어진 n의 배수만 상태를 바꾸면 됐음) 주어진 문제 그대로 구현하다보니까 생각을 잘 못했는데 1 ~ 2 라운드도 3 ~ k 라운드와 마찬가지로 열려있으면 잠그고, 잠겨있다면 여는 방법을 사용해도 답은 같게 나온다. 1, 0 상태를 바꿀 때 🍯 tip인데 if not gate[j]: gate[j] = 1 or if gate[j]: gate[j] = 0 대신 gate[j] = (gate[j] + 1) % 2를 사용해도 결과는 같지만 코드는 훨씬 간결해진다. 이전 에 공부한 내.. 2021. 6. 18.
[ 파이썬(python) ] 백준 1292 - 쉽게 푸는 문제 📍 백준 1292 - 쉽게 푸는 문제 백준 1292 - 쉽게 푸는 문제 ⚡️ 나의 풀이 문제 이름은 쉽게 푸는 문제였는데 나는 어렵게 푼 문제였다. 구간의 시작과 끝을 기준으로 구간 합을 구해야 하기 때문에 prefix_sum을 이용했다. 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 ... 수열을 만들 때 더 쉽게 떠올릴 수 있어야 하는데 str형으로 어렵게 푼 것 같다. 나의 풀이 arr에 0을 넣은 상태로 선언한다. (index 고려) a, b를 입력받는데 b는 index를 고려할 값이기 때문에 반복문의 범위를 반으로 줄였다. cnt는 1씩 증가하면서 똑같은 값이 하나씩 증가한다. 현재 항과 이전 항을 더해 누적 합을 계산해준다. arr[b] - arr[a-1]으로 구간 합을 구한다. 정답판정.. 2021. 6. 17.
[ 파이썬(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.