2025/02/17 8

21862. 사각형 그리기 게임

https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AZTSyabKcE7HBINJ&contestProbId=AZFYm0OKCpEDFAVs&probBoxId=AZTYhdtaJTnHBIOK&type=USER&problemBoxTitle=99.+IM+%EB%8C%80%EB%B9%84+%EB%AC%B8%EC%A0%9C&problemBoxCnt=11 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 1️⃣ 문제 개요N × N 크기의 정수 배열이 주어짐.같은 숫자로 이루어진 가장 큰 직사각형을 찾고, 해당 직사각형의 개수를 계산해야 함.2️⃣..

Baekjoon 2025.02.17

BackTracking(백트래킹)

✅ BackTracking(백트래킹)백트래킹(Backtracking) 알고리즘은 해를 찾는 도중 '막히면' (즉, 해가 아니면) 되돌아가서 다시 해를 찾아가는 기법입니다. 즉, 가능성이 없는 경로는 미리 배제하여 탐색을 최적화하는 DFS(깊이 우선 탐색)의 변형이라고 할 수 있습니다.백트래킹 알고리즘은 다음과 같은 문제를 해결하는 데 사용됩니다:최적화(Optimization) 문제: 최적의 해를 찾는 문제결정(Decision) 문제: 특정 조건을 만족하는 해가 존재하는지 확인하는 문제 ✅ 백트래킹 vs 깊이 우선 탐색(DFS) 차이점개념깊이 우선 탐색 (DFS)백트래킹 (Backtracking)개념깊이 우선 탐색(DFS)백트래킹(BackTracking)기본 개념모든 가능한 경로를 탐색불가능한 경로를 조기..

Infix Notation & Postfix Notation (중위 & 후위 표기법)

✅ Infix Notation & Postfix Notation (중위 & 후위 표기법)표기법표현 방식예제후위변환 결과중위 표기법연산자가 피연산자 사이3 + 5 * 23 5 2 * +후위 표기법연산자가 피연산자 뒤3 5 2 * +계산 결과: 13 ✔️ 후위 표기법은 괄호 없이도 연산 순서가 명확해짐✔️ 스택을 이용하면 간단하게 구현 가능  중위 표기법 (Infix Notation)우리가 일반적으로 사용하는 수식 표현 방식연산자가 피연산자 사이에 위치예시: 3 + 5 * 2 → (5 * 2 먼저 계산) 후위 표기법 (Postfix Notation, Reverse Polish Notation - RPN)연산자가 피연산자 뒤에 위치괄호 없이 연산 순서를 명확히 표현 가능예시: 3 5 2 * + → (5 × 2..

Ternary Operator (삼항 연산자)

✅Ternary Operator (삼항 연산자)Python에서는 삼항 연산자 (Ternary Operator) 를 사용하여 한 줄로 조건문을 간결하게 표현할 수 있습니다. 이번 글에서는 삼항 연산자의 개념과 활용법을 알아보겠습니다.1️⃣ 삼항 연산자란?삼항 연산자는 if-else 조건문을 한 줄로 표현할 수 있는 방법입니다. 기본 문법:값1 if 조건 else 값2 ✅예제 코드x = 10y = 5max_value = x if x > y else y # x가 y보다 크면 x, 아니면 yprint(max_value) # 10위 코드는 다음과 동일합니다:if x > y: max_value = xelse: max_value = y  📌 삼항 연산자를 사용하면 코드가 더 간결해집니다!2️⃣ 삼항 ..

Membership & Identitiy Operators (멤버십 & 아이덴티티 연산자)

✅ Membership & Identitiy Operators (멤버십 & 아이덴티티 연산자) Python에서는 멤버십 연산자(Membership Operators) 와 아이덴티티 연산자(Identity Operators) 를 사용하여 특정 값이 존재하는지 확인하거나, 객체의 동일성을 비교할 수 있습니다. 이번 글에서는 이 두 연산자의 개념과 활용법을 알아보겠습니다. 1️⃣ 멤버십 연산자 (Membership Operators)멤버십 연산자는 값이 특정 시퀀스(리스트, 튜플, 문자열, 딕셔너리 등) 안에 존재하는지 확인할 때 사용합니다.연산자설명예제결과연산자설명예제결과in특정 값이 시퀀스 안에 있으면 True 반환3 in [1, 2, 3]Truenot in특정 값이 시퀀스 안에 없으면 True 반환5 n..

Bitwise Operators (비트 연산자)

✅Bitwise Operators(비트 연산자)Python에서는 비트 연산자 (Bitwise Operators) 를 사용하여 이진수 단위로 연산을 수행할 수 있습니다. 비트 연산자는 빠른 계산이 가능하여 최적화, 암호화, 네트워크 프로그래밍 등에서 많이 활용됩니다.1️⃣ 비트 연산자 개요연산자 설명 예제 (x=5, y=3) 결과 (2진수 연산)연산자설명예제(x=5, y=3)결과 (2진수 출력)&비트 AND5 & 30b0001 (1)| 비트 OR 5 | 30b0111 (7)^비트 XOR5 ^ 30b0110 (6)~비트 NOT~50b...1010 (-6)왼쪽 시프트5 0b1010 (10)>>오른쪽 시프트5 >> 10b0010 (2) ✅ 예제 코드x, y = 5, 3 # 5: 0b0101, 3: 0b0011..

Assignment Operators (할당 연산자)

✅Python Assignment Operators (Python 할당 연산자)Python에서는 변수에 값을 저장할 때 할당 연산자 (Assignment Operators) 를 사용합니다. 단순한 = 대입뿐만 아니라, 연산과 동시에 할당할 수 있는 다양한 연산자도 제공합니다. 1️⃣ 할당 연산자 (Assignment Operators) 개요연산자설명예제결과=값을 변수에 할당x = 10x는 10이 됨+=덧셈 후 할당x += 5 (x가 10이라면)x = 15-=뺄셈 후 할당x -= 3 (x가 15이라면)x = 12*=곱셈 후 할당x *= 2 (x가 12이라면)x = 24/=나눗셈 후 할당x /= 4 (x가 24이라면)x = 6.0//=몫 연산 후 할당x //= 2 (x가 6.0이라면)x = 3.0%=나머지 ..

Basic Operators (기본 연산자)

✅ Basic Operators (기본 연산자) Python에서는 다양한 연산자를 활용하여 수학적 계산, 비교, 논리 연산 등을 수행할 수 있습니다. 이번 글에서는 Python에서 자주 사용하는 기본 연산자를 한눈에 정리해 보겠습니다! 1️⃣ 산술 연산자 (Arithmetic Operators)Python에서 기본적인 사칙연산 및 기타 수학 연산을 수행할 때 사용됩니다.연산자설명예제결과+덧셈5 + 38-뺄셈5 - 32*곱셈5 * 315/나눗셈5 / 22.5//몫 연산5 // 22%나머지 연산5 % 21**거듭제곱5 ** 225 ✅ 예제 코드x, y = 10, 3print(x + y) # 13print(x - y) # 7print(x * y) # 30print(x / y) # 3.333...prin..