[ 알고리즘 ]

    [백준] 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+..