IT 89

[파이썬/Python] 백준 23971번 ZOAC 4 - 사칙연산

> 문제https://www.acmicpc.net/problem/23971> 코드import mathH, W, N, M = map(int, input().split())row = math.ceil(H / (N + 1))col = math.ceil(W / (M + 1))print(row * col) 풀이1. 4개 입력 받기2. 행에서 가능한 개수 계산3. 열에서 가능한 개수 계산 : 점 간 거리가 M만큼 떨어지려면 실제 이동 간격은 M+14. 곱해서 총 개수 계산 🔥 파이썬 반올림 처리 함수 (math)① ceil()무조건 올림 ② floor()무조건 내림 ③ round5이상 올림5미만 내림

IT/코딩테스트 2025.11.24

[파이썬/Python] 백준 2563번 색종이 - 구현, 브루트포스

> 문제https://www.acmicpc.net/problem/2563 > 코드n = int(input())paper = [[0] * 100 for _ in range(100)] # 100x100 도화지for _ in range(n): x, y = map(int, input().split()) # 색종이의 왼쪽 아래 좌표 for i in range(x, x + 10): # x ~ x+9 for j in range(y, y + 10): # y ~ y+9 paper[i][j] = 1 # 이 칸은 색종이가 덮음# 검은 영역 넓이 = 1의 개수 합result = 0for i in range(100): ..

IT/코딩테스트 2025.11.24

[파이썬/Python] 백준 11718번 그대로 출력하기 - 구현

> 문제https://www.acmicpc.net/problem/11718 > 코드import sysprint(''.join(sys.stdin.readlines()), end='') 풀이1. 표준입력(stdin)에 들어온 모든 줄을 리스트 형태로 읽어온다. 예) 입력HelloBaekjoonOnline Judge ▶ ["Hello\n", "Baekjoon\n", "Online Judge\n"] 2. join 으로 리스트 안의 문자열을 그대로 이어붙인 하나의 문자열로 만든다. ▶ "Hello\nBaekjoon\nOnline Judge\n" 3. print(..., end='') 를 통해 print가 뒤에 또 \n 을 달지 않게 한다. 예) 출력HelloBaekjoonOnline Judge 틀린 코드굉장히 ..

IT/코딩테스트 2025.11.23

[파이썬/Python] 백준 5597번 과제 안 내신 분..? - 구현

> 문제https://www.acmicpc.net/problem/5597 > 코드arr = [0] * 30for _ in range(28): num = int(input()) arr[num - 1] = 1for i in range(30): if arr[i] == 0: print(i + 1) 풀이1. 빈 배열을 하나 만들고 28번 번호를 입력해준다. 이때, 숫자-1 에 해당하는 인덱스에 1을 저장하여 입력 받았음을 확인한다.2. 배열을 for문으로 확인하다가 값이 0이면 출력해준다. 더 나은 방식 - (1) enumerate 내장함수 활용enumerate : 인덱스와 원소로 이루어진 튜플(tuple)을 만들어준다. 이를 통해 인덱스와 원소에 동시에 접근.확실히 깔끔해졌다. 파이..

IT/코딩테스트 2025.11.23

[파이썬/Python] 백준 10813번 공 바꾸기 - 구현

> 문제https://www.acmicpc.net/problem/10813 > 코드n, m = map(int, input().split())arr = [i + 1 for i in range(n)]for _ in range(m): i, j = map(int, input().split()) x = arr[i-1] arr[i-1] = arr[j-1] arr[j-1] = xprint(*arr) 풀이1. n,m 을 받고 "인덱스+1 에 해당하는 값이 해당 인덱스에 저장되어 있는 배열" 하나를 만들어준다2. i-1 과 j-1 인덱스에 해당하는 값 서로 바꾸기 더 나은 방식 - 튜플 swap 문법 활용파이썬은 두 변수 값을 한 줄로 교환 가능arr[i-1], arr[j-1] = arr[j-1]..

IT/코딩테스트 2025.11.21

[파이썬/Python] 백준 10810번 공 넣기 - 구현

> 문제https://www.acmicpc.net/problem/10810 > 코드n, m = map(int, input().split())arr = [0]*nfor _ in range(m): i, j, k = map(int, input().split()) for y in range(i-1, j): arr[y]=kprint(*arr) 풀이1. n,m 을 받고 넣은 공을 저장할 배열 하나를 만들어준다2. i~j 에 k 를 넣기 때문에 for 문 만들고 arr 배열의 해당 위치에 k 값 넣어주기3. print(*arr) → 리스트 요소를 언패킹해서 기본 구분자인 공백으로 출력하는 방식 더 나은 방식 - 슬라이싱 활용for 문을 또 열고 돌면서 해당 위치에 숫자(k)를 저장하는게 아니..

IT/코딩테스트 2025.11.21

[IT/코딩테스트] KB ITYL 알고리즘 해시맵 예제 : Two Sum (leetcode)

▶ 문제 설명 정수 배열 nums와 정수 target이 주어졌을 때, 배열에서 두 수를 골라 더했을 때 그 합이 target이 되는 두 수의 인덱스를 반환하세요.- 각 입력에 대해 정답은 오직 하나만 존재합니다.- 같은 요소를 두 번 사용할 수는 없습니다.- 반환하는 인덱스의 순서는 상관없습니다. ▶ 제한 사항1) 2 ≤ nums.length ≤ 10⁴2) -10⁹ ≤ nums[i] ≤ 10⁹3) -10⁹ ≤ target ≤ 10⁹4) 정답은 무조건 하나 존재 ▶ 입출력 예시번호입력출력설명예시 1nums = [2, 7, 11, 15], target = 9[0, 1]nums[0] + nums[1] = 2 + 7 = 9예시 2nums = [3, 2, 4], target = 6[1, 2] 예시 3nums =..

IT/코딩테스트 2025.07.05

[IT/코딩테스트] KB ITYL 기말평가 대비 : 합승 택시 요금 (programmers)

▶ 문제 설명밤늦게 귀가할 때 안전을 위해 항상 택시를 이용하던 무지는 최근 야근이 잦아져 택시를 더 많이 이용하게 되어 택시비를 아낄 수 있는 방법을 고민하고 있습니다. "무지"는 자신이 택시를 이용할 때 동료인 어피치 역시 자신과 비슷한 방향으로 가는 택시를 종종 이용하는 것을 알게 되었습니다. "무지"는 "어피치"와 귀가 방향이 비슷하여 택시 합승을 적절히 이용하면 택시요금을 얼마나 아낄 수 있을 지 계산해 보고 "어피치"에게 합승을 제안해 보려고 합니다. 위 예시 그림은 택시가 이동 가능한 반경에 있는 6개 지점 사이의 이동 가능한 택시노선과 예상요금을 보여주고 있습니다.그림에서 A와 B 두 사람은 출발지점인 4번 지점에서 출발해서 택시를 타고 귀가하려고 합니다. A의 집은 6번 지점에 있으며 ..

IT/코딩테스트 2025.07.01

[IT/코딩테스트] KB ITYL 기말평가 대비 : House Robber (leetcode)

▶ 문제 설명당신은 전문 도둑입니다. 어느 날 한 마을에 있는 집들을 털 계획을 세우고 있습니다. 각 집에는 일정 금액의 돈이 보관되어 있으며, 이 집들을 털면 그 돈을 얻을 수 있습니다. 하지만 문제가 하나 있습니다.인접한 두 집에는 보안 시스템이 연결되어 있어서, 같은 날 두 인접한 집을 털 경우 경찰에 신고됩니다.따라서 두 집을 연속해서 털 수는 없습니다. 각 집에 보관된 돈의 금액이 nums 배열로 주어질 때, 경찰에 들키지 않으면서 훔칠 수 있는 최대 금액을 구하세요.▶ 제한 사항- 집의 개수 1 - 각 집에 있는 돈 0 ▶ 입출력 예시번호입력출력설명예시 1nums = [1, 2, 3, 1]41번 집(1) → 3번 집(3) 털면 총 4예시 2nums = [2, 7, 9, 3, 1]121번 집(..

IT/코딩테스트 2025.07.01