전체 글
[백준] 2441. 별 찍기 - 4
📌문제 https://www.acmicpc.net/problem/2441 🎖️난이도 ✔️풀이 # sol1) 공백, + 연산자 이용 n = int(input()) for i in range(n): print(' '*(i) + '*'*(n-i)) # sol2) string 메소드를 이용한 정렬 n = int(input()) for i in range(n): s = '*' * (n-i) print(s.rjust(n)) # 길이 n으로 고정 후 우측 정렬
[백준] 2440. 별 찍기 - 3
📌문제 https://www.acmicpc.net/problem/2440 🎖️난이도 ✔️풀이 n = int(input()) for i in range(n): print('*'*(n-i))
[백준] 2439. 별 찍기 - 2
📌문제 https://www.acmicpc.net/problem/2439 🎖️난이도 ✔️풀이 # sol1) 공백 & end 이용 n = int(input()) for i in range(n): print(' ' * (n-i-1), end='*'*(i+1)+'\n') # sol2) padding & 정렬 이용 n = int(input()) for i in range(n): s = '*' * (i+1) print(s.rjust(n)) # 오답) padding & 정렬 이용 ('{:>}'.format()) n = int(input()) for i in range(n): print('{:>5}'.format('*'*(i+1))) # n이 5가 아니면 오답! # 오답) padding & 정렬 이용 ('%s' % ..
[백준] 2438. 별 찍기 - 1
📌문제 https://www.acmicpc.net/problem/2438 🎖️난이도 ✔️풀이 n = int(input()) for i in range(n): print('*' * (i+1))
[프로그래머스] 타겟 넘버
📌문제 https://programmers.co.kr/learn/courses/30/lessons/43165 🎖️난이도 Level 2 ✔️풀이 # sol1 (더 빠름, itertools의 product 사용 => 중복순열) from itertools import product def solution(numbers, target): tuple_list = [(x, -x) for x in numbers] sum_list = list(map(sum, product(*tuple_list))) return sum_list.count(target) # sol2 (dfs => 재귀, 전역변수 이용) cnt = 0 def dfs(numbers, i, tmp_sum, target): global cnt # 전역변수 if..
[프로그래머스] 입국심사
📌문제 https://programmers.co.kr/learn/courses/30/lessons/43238 🎖️난이도 Level 3 ✔️풀이 #include #include #include using namespace std; long long solution(int n, vector times) { long long answer = 0; long long time_num = times.size(); sort(times.begin(), times.end()); long long min_time = 1; long long max_time = (long long)times.back() * (long long)n; // 모두 long long으로! long long mid_time = 0; while (mi..
[프로그래머스] 카펫
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42842 🎖️난이도 Level 2 ✔️풀이 # sol1 def solution(brown, yellow): import math t = brown + yellow m = math.ceil(math.sqrt(t)) for i in range(m, t+1): if t % i != 0: continue tmp = [i, t//i] # [w, h] if brown == (i + t//i) * 2 - 4: return tmp # sol2) 근의 공식 이용 (2차 방정식의 해) def solution(brown, yellow): import math w = ((brown+4)/2 + math.sqrt(((brown+..
[프로그래머스] 소수 찾기
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42839 🎖️난이도 Level 2 ✔️풀이 # sol1 def isPrime(a): if(a {} : dic 초기화! for i in range(l): per_set.update(set(map(int, map(''.join, itertools.permutations(numbers_list, i+1))))) print(per_set) cnt = 0 for item in per_set: if (isPrime(item)): cnt += 1 return cnt # sol2) math.ceil(), math.sqrt() 이용 => 시간 단축! import itertools import math def isPrime..
[프로그래머스] 모의고사
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42840 🎖️난이도 Level 1 ✔️풀이 # sol1 def solution(answers): one = [1,2,3,4,5] * 2000 two = [2,1,2,3,2,4,2,5] * 1250 three = [3,3,1,1,2,2,4,4,5,5] * 1000 scores = [0, 0, 0] l = len(answers) for i in range(l): if answers[i] == one[i]: scores[0] += 1 if answers[i] == two[i]: scores[1] += 1 if answers[i] == three[i]: scores[2] += 1 tmp_max = max(scor..
[프로그래머스] 단속카메라
📌문제 https://programmers.co.kr/learn/courses/30/lessons/42884 🎖️난이도 Level 3 ✔️풀이 # sol) 빠져나간 값(뒤에 값)을 기준으로 비교 & 카메라 설치 위치 갱신 import math def solution(routes): answer = 0 routes.sort(key=lambda x: x[1]) # routes를 차량이 나간 지점 (진출) 기준으로 정렬 print(routes) camera = -math.inf # math에서 가능한 것들 중 최소 값 (아주 작은 값) for route in routes: if camera < route[0]: answer += 1 camera = route[1] print(camera) return answer