본문 바로가기
반응형
[Python] 특수 변수 "__main__": 완전 쉽게 이해하기 파이썬을 공부하다 보면거의 모든 예제 코드 맨 아래에 이런 문장을 한 번쯤 본 적 있을 거예요.if __name__ == "__main__": run_tests() 이게 도대체 뭘까?함수일까? 아니면 어떤 트릭일까?사실 둘 다 아닙니다.이건 파이썬이 가진 공식적인 실행 규칙,즉 “이 파일을 직접 실행했을 때만 실행하라”는 뜻이에요. 1. “파이썬 파일”은 하나의 프로그램이다예를 들어 main.py 파일을 이렇게 만들었다고 해볼게요.print("안녕! 나는 main.py야!") 이제 터미널에서 실행해보면$ python main.py안녕! 나는 main.py야!정상적으로 실행됩니다.그런데 나중에 이 파일을 다른 곳에서 이렇게 불러온다면?import main이 순간 main.py 안의 print() 문이.. 2025. 11. 12.
[Python] divmod() 함수 divmod() 활용 예시 프로그래머스 Lv1~Lv2 (백준 기준 브론즈~실버) 코테에서 가독성 높이기용 보조 함수로 자주 등장“몫과 나머지를 동시에 써야 할 때”는 항상 divmod()가 더 깔끔 1. 시간 계산에 활용 (초를 분과 초로 변환)총 시간을 분과 남은 초로 나누어 계산할 때 유용합니다.# 초(total_seconds)를 분(minutes)과 초(seconds)로 변환하는 예제# divmod(x, y)는 (x // y, x % y) 형태의 튜플을 반환함examples = [45, 60, 125, 350, 601, 1234, 3599]for total_seconds in examples: minutes, seconds = divmod(total_seconds, 60) print(.. 2025. 11. 12.
[차근차근 풀기] [python] 백준 2108 - 통계학 이 문제는 겉만 보면 통계 문제인데, 알고 보면 구현 디테일을 검증하기 위한 문제이다.N이 최대 50만 개나 되니 구현시 속도에 신경써야 한다. 먼저 산술평균, 중앙값, 최빈값, 범위 네 개를 구해야 하므로 일단 입력을 받는 라인을 작성한다. 1단계: 입력 받기 및 환경 설정N이 최대 50만개라, 그냥 input() 쓰면 시간 초과 날 수 있다.그래서 안전하게 sys 모듈 가져와서 입력 속도 빠르게 바꾸는 걸 추천한다. import sysinput = sys.stdin.readline N번 반복해서 숫자들을 리스트에 담아야 하므로 리스트 이름은 numbers로 지정해 보겠다.N = int(input())nums = [int(input()) for _ in range(N)] 2단계: 중앙값, 최솟값, 최.. 2025. 11. 9.
[programmers] '겹치는 선분의 길이' 문제 해설 및 정답코드 문제 출처https://school.programmers.co.kr/learn/courses/30/lessons/120876 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 프로그래머스에서 제공하는 "겹치는 선분의 길이" 문제는 겉보기에 간단해 보여도, 막상 풀려고 하면 어디서부터 시작해야 할지 막막할 수 있습니다. 이 문서에서는 해당 문제를 누구나 이해할 수 있도록 차근차근, 그림을 머릿속에 그릴 수 있도록 설명해보겠습니다. 📌 문제 상황 이해하기총 3개의 선분이 평행하게 놓여 있어요.각 선분은 시작점과 끝점으로 구성된 배열로 주어집니다. 예: [0, 2]는 x축 위에서 0부터 2까지 이어진 선분.. 2025. 4. 29.
[Javascript] 초급 개념 Async / Await — 비동기 처리의 직관적인 문법 목차비동기 처리란?async / await란 무엇인가?주요 문법과 사용 방법예제 코드출력 결과 및 설명응용 예시: API 호출 시 사용요약 및 마무리 1. 비동기 처리란?자바스크립트는 단일 스레드(single-thread) 언어입니다. 즉, 한 번에 하나의 작업만 처리할 수 있습니다. 하지만 웹 애플리케이션에서는 서버 요청, 파일 읽기, 타이머 등 시간이 오래 걸리는 작업들이 많기 때문에 비동기 처리가 필요합니다. ⏱️ 동기 vs 비동기동기(synchronous): 작업이 순차적으로 실행되며, 앞 작업이 끝나야 다음 작업이 실행됩니다.비동기(asynchronous): 특정 작업을 백그라운드에서 처리하고, 그 사이 다른 코드를 실행할 수 있습니다.과거에는 콜백(callback) → 프라미스(Promis.. 2025. 4. 16.
[Python] 초급 퀴즈27 - 2차원 배열 1. 다음 중 3행 3열의 2차원 배열을 올바르게 초기화하는 코드는?array = [0] * 3 * 3array = [[0] * 3 for _ in range(3)]array = [[0 for i in range(3)] * 3]array = [ [0, 0, 0], [0, 0], [0, 0, 0, 0] ] 2. 다음 코드의 출력 결과로 알맞은 것은?n = 2array = [[i * n + j for j in range(n)] for i in range(n)]print(array)[[0, 1], [2, 3]][[1, 2], [3, 4]][[0, 2], [1, 3]][[0, 1, 2], [3, 4, 5]] 3. 다음 코드에서 array[2][1]의 값은?array = [ [10, 20, 30], .. 2025. 4. 14.
[Python] 초급 개념27 - 2차원 배열의 이해 1. 개념 설명2차원 배열은 리스트 안에 또 다른 리스트가 들어 있는 구조입니다.한 줄로 쭉 나열된 1차원 배열과는 달리, 행(row)과 열(column)을 가지는 표 형태로 데이터를 다룰 수 있습니다.이런 배열은 일상에서 자주 사용하는 엑셀 시트, 좌석 배치표, 게임 보드처럼 가로줄과 세로줄로 이루어진 데이터 구조를 표현할 때 유용합니다. ✅ 리스트란 무엇인가요?파이썬에서 리스트(list)는 여러 값을 하나로 묶어서 저장할 수 있는 자료형입니다.numbers = [1, 2, 3, 4, 5]위 코드에서 numbers는 1부터 5까지 숫자를 담고 있는 리스트입니다. 각 값은 인덱스(index)로 접근할 수 있으며, 인덱스는 0부터 시작합니다.예를 들어 numbers[0]은 1, numbers[2]는 3을 .. 2025. 4. 14.
[25.03.31] 주요 사이트 dns 서버 주소 모음 - 네이버, sk, lg, kt KT기본 DNS: 168.126.63.1​보조 DNS: 168.126.63.2​SK브로드밴드기본 DNS: 210.220.163.82​보조 DNS: 219.250.36.130​LG U+기본 DNS: 164.124.101.2보조 DNS: 203.248.252.2 2025. 3. 31.
[Python] 초급 개념11+ - 문자열 출력과 조작 특집 파이썬에서는 문자열을 출력하고 조작하기 위한 다양한 함수와 키워드들이 있어요. 이 문서에서는 문자열을 효과적으로 다루기 위해 꼭 알아야 할 10가지 핵심 개념을 정리합니다.  🔹 1. sep - print 함수에서 값 사이 구분자 지정print("Python", "is", "fun", sep="-")👉 출력: Python-is-funprint("2025", "03", "31", sep="/")👉 출력: 2025/03/31  🔹 2. end - 출력 후 줄 끝 지정print("Hello", end=" ♥ ")print("World")👉 출력: Hello ♥ Worldfor i in range(3): print(i, end=", ")👉 출력: 0, 1, 2,  🔹 3. join() - 리스.. 2025. 3. 31.
[programmers] '등수 매기기' 문제 해설 및 정답코드 문제 출처https://school.programmers.co.kr/learn/courses/30/lessons/120882 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr    ✅ 문제 설명어플에서 학생들의 영어와 수학 점수가 주어진 드림 score에서, 각 학생의 평균점수를 계산하고 그를 기준으로 등수를 매기는 문제입니다.  🔹 해결 방식각 학생의 [영어, 수학] 점수를 보고, 평균 계산평균점수를 높은 순서로 밀어 등수 매기원래 순서에 따라 각 학생의 등수 복원  📈 예시 예시 1score = [[80, 70], [90, 50], [40, 70], [50, 80]]평균: [75, 70, 55, 6.. 2025. 3. 27.
[programmers] 'OX퀴즈' 문제를 가장 간단하게 푸는 방법 문제 출처https://school.programmers.co.kr/learn/courses/30/lessons/120907 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   ✅ 문제 개요수학 수식들이 "X [연산자] Y = Z" 형태의 문자열로 주어진다.이 수식이 맞으면 "O", 틀린 경우 "X"로 표시한 리스트를 만들어야 한다.예를 들어:["3 - 4 = -3", "5 + 6 = 11"] → ["X", "O"]  🔍 예시수식 결과"3 - 4 = -3"X"5 + 6 = 11"O"5 - 15 = 63"X  🧠 해결 방법 🔹 1. 수식 분리문자열을 " "(공백) 기준으로 나누면 아래처럼 조각으로 작.. 2025. 3. 27.
[programmers] '영어가 싫어요' 문제 해설 및 정답코드 문제 출처https://school.programmers.co.kr/learn/courses/30/lessons/120894 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  ✅ 문제 설명영어로 쓰여 있는 숫자 단어가 붙어 있는 문자열이 주어졌을 때, 이 문자열을 실제 숫자로 바꾸는 문제입니다. 예를 들어 "onefourzerosixseven"이라는 문자열이 주어지면, 각각의 단어를 숫자로 바꿔서 14067이라는 숫자를 만들어야 합니다.  🔍 예시numbers 결과"onetwothreefourfivesixseveneightnine"123456789"onefourzerosixseven"14067  🧠 .. 2025. 3. 25.
반응형