[백준 33675번] L-트로미노 타일링 (python)
Coding/Python2025. 4. 16. 15:48[백준 33675번] L-트로미노 타일링 (python)

1. 문제설명L-트로미노는 1×1 블록 3개가 L자 형태로 연결된 도형입니다. 이를 회전하거나 대칭해서 사용할 수 있으며, 3×N 보드에 빈틈 없이 채우는 경우의 수를 구하는 것이 목표입니다.2. 오답코드test = int(input())for i in range(test) : dp = [0,2] n = int(input()) for i in range(n) : if i ❌ 오답 코드에서의 실수점화식이 잘못되었음 (일반적인 dp 형태 아님)L-트로미노 타일링은 f(n) = 2^(n/2)의 수학적 규칙으로 푸는 문제리스트 인덱싱 오류 발생 가능 (dp[i]를 선언 없이 대입함)3. 정답코드 및 접근법T = int(input()) for _ in range(T): N = i..

[백준 33674] 하늘에서 떨어지는 N개의 별, 파이썬
Coding/Python2025. 4. 4. 15:02[백준 33674] 하늘에서 떨어지는 N개의 별, 파이썬

1. 문제 설명32953번 "회상" 문제는 특정 일 수 동안 별을 모으는 과정을 시뮬레이션하면서, 조건을 초과했을 경우 별을 초기화하고 회상 횟수를 세는 문제입니다. 가장 큰 별 획득량을 매일 더해가며 총량이 K를 넘을 경우 회상을 진행합니다.2. 오답 코드 분석n, d, k = map(int, input().split(' '))s = list(map(int, input().split(' ')))max_num = max(s)answer = 0num = max_numfor i in range(d) : num += max_num if num >= k : answer += 1 num = 0print(n) 오답 코드에서는 num을 max_num으로 시작하면서, 처음부터 하루..

[백준] 32953번 - 회상, python
Coding/Python2025. 3. 24. 18:31[백준] 32953번 - 회상, python

문제백준 32953번 '회상' 문제는 각 사람의 기억 속에 있는 숫자들을 종합해,m명 이상이 기억하고 있는 숫자의 개수를 세는 문제다. 처음에는 딕셔너리를 이용해 풀었으나 시간 초과가 발생했고, 이후 list와 set 조합으로 해결했다.오답코드n,m = map(int, input().split(' '))dic = {}result = 0for i in range(n) : num = int(input()) li = input().split(' ') for j in range(num) : if li[j] in dic : dic[li[j]] += 1 else : dic[li[j]] = 1 for key, value in dic..

[python] A, B = input().split()이 가능한 이유 (패킹,언패킹)
Coding/Python2025. 3. 6. 15:57[python] A, B = input().split()이 가능한 이유 (패킹,언패킹)

백준 문제를 풀다 보면 항상 이 코드를 쓰게 되는 것 같다.A, B = input().split() 처음에는 별 생각 없이 쓰다가, 어느 순간 "이거 왜 이렇게 쓰는 거지?"라는 궁금증이 들었다.그래서 해당 원리를 정리하고, 이 코드가 사용되는 이유를 설명해보려 한다. 가장 먼저 알아야 할 것은 패킹과 언패킹이다.1. 패킹과 언패킹이란?패킹(Packing)여러 개의 값을 하나의 변수에 묶는 과정이다. 주로 리스트, 튜플 등의 자료구조를 활용하여 여러 데이터를 하나의 단위로 저장한다.# 튜플 패킹packed_tuple = 1, 2, 3 print(packed_tuple) # 리스트 패킹packed_list = [4, 5, 6]print(packed_list)언패킹(Unpacking)패킹된 값을 개별 변수..

[알고리즘] 파이썬 알고리즘 주의 사항
Coding/Python2022. 8. 13. 17:07[알고리즘] 파이썬 알고리즘 주의 사항

파이썬으로 알고리즘 문제 풀 때 주의 사항(잘몰랐던 개념 포함)*if True / False 간략히 쓰자 (생략하기)-if 함수()==True 는 잘 안쓰고 그냥 if 함수명()만 씀false일때 쓰고 싶으면? ) if not 함수명() 이런식으로 씀  *왼쪽에서 오른쪽으로 읽고 Ture/False 판단if  A and B / A or B 라는 코드가 있으면 A먼저 판단 --> 그리고 B 판단그러니 런타임오류가 날 만한 함수를 넣을 거면 먼저 A에 판단식 B에 런타임 오류 날 수 있는 함수 넣기 *글로벌 키워드 / 인자로 넘기는 경우 주의인자로 넘기는 함수 형식이 현업에서 할 때, 코드 이해도가 좋기 때문 가급적 추천알고리즘 문제를 풀 때는 글로벌 키워드 사용함(현업에서 사용시 쓰레기 코드라고 불릴 수도..

[파이썬] 리스트 원소 랜덤 출력하는 법
Coding/Python2022. 5. 11. 20:10[파이썬] 리스트 원소 랜덤 출력하는 법

Q.리스트에 있는 원소 중 하나를 랜덤으로 출력하고 싶을때는 어떡해 해야 할까? *파이썬에서 랜덤과 관련된 메소드를 써주려면 import random을 해야 한다.리스트의 원소 중 하나를 아무거나 랜덤으로 선택하고 싶을때도 랜덤을 써야하니 필수다.A.이 때는 import random을 해준 뒤 random.choice(리스트명)을 해주면 끝이다!import randomlist = [1, 2, 3, 4]print(random.choice(list)) 이렇게 하면 원소 1,2,3,4중 하나가 임의로 선택되 출력된다.참고오 random.random() 함수를 쓰면 0부터 1사이의 임이의 실수가 나온다.

[백준 -파이썬] 10171번 고양이 출력하시오 (\\를 조심하자)
Coding/Python2022. 4. 15. 19:52[백준 -파이썬] 10171번 고양이 출력하시오 (\\를 조심하자)

백준 10171번 고양이를 출력하시오 문제 답: print("\\ /\\") print(" ) ( ')") print("( / )") print(" \\(__)|") 설명 : 계속해서 해도 안되서 속에 열불이 났었다. 그동안 틀렸던 이유는 바로 백슬레쉬 \를 출력하려면 \\로 두개를 써야 한다는 것을 잊고 있었기 때문이다.

Coding/Python2022. 3. 27. 14:55파이썬과 자바,C언어 and,or,not ,bool형 차이

헷갈리지 말것 C언어랑 자바가 기호 사용하고 파이썬은 그냥 문자 그대로 써주면 됨 뜻 C언어/자바 파이썬 그리고 && and 또는 || or 아니다(부정) ! not 그리고 bool형은 파이썬 시작할 때 꼭 대문자임 !!! C언어/자바 파이썬 true True false False

Coding/Python2022. 3. 17. 20:25[파이썬] 연산 하는법 (연산기호 소개)

C나 자바, 파이썬 각 언어마다 사용 규칙이 다르지만 간단한 사칙연산에 사용하는 기호는 아래와 같이 동일하다. 의미 기호 더하기 + 빼기 - 곱하기 * 나누기 / 나눈 후 (몫은 버리고) 나머지만 % 그러나 파이썬이 C나 자바와 다른게 있다면 더 많은 연산기호를 사용한다는 점이다. (C나 자바에서 이 이외의 연산기호를 쓰고 싶을때는 함수를 사용해야 함) 파이썬에서 추가로 사용하는 연산기호는 아래와 같다. 의미 기호 제곱 ** 정수의 몫만 (소수점 이하의 몫은 버림) // 파이썬은 즉 7가지 연산기호를 사용

반응형
image