전체 글(178)
-
짝수 홀수 개수 - Python
def solution(num_list): even = 0 odd = 0 for item in num_list: if item % 2: odd += 1 else: even += 1 answer = [even, odd] return answer print(solution([1, 2, 3, 4, 5])) print(solution([1, 3, 5, 7])) C언어에서 하던 대로 했습니다. def solution(num_list): answer = [0,0] for n in num_list: answer[n%2]+=1 return answer 리스트니까 이런 접근이 가능했는데 이걸 체내화하지 못했나봅니다. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/..
2023.09.20 -
직각삼각형 출력하기 - Python
n = int(input()) for i in range(n): for j in range(i+1): print("*", end="") print() C언어에서 하던 대로 만들었습니다. n = int(input()) for i in range(1,n+1): print('*'*i) 파이썬에서는 최신화된 방법으로 해야했네요. print('\n'.join('*' * (i + 1) for i in range(int(input())))) 깔끔하네요. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/120823 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 ..
2023.09.20 -
옷가게 할인 받기 - Python
def solution(price): if price >= 500000: return int(price * 0.8) elif price >= 300000: return int(price * 0.9) elif price >= 100000: return int(price * 0.95) else: return price # Test Cases print(solution(150000)) print(solution(580000)) 제 풀이입니다. C 언어 하던 시절에 비슷한 문제를 풀었으니 똑같이 풀었습니다. def solution(price): discount_rates = {500000: 0.8, 300000: 0.9, 100000: 0.95, 0: 1} for discount_price, discount_r..
2023.09.20 -
두 수의 합 - C#
using System; using System.Numerics; public class Solution { public string solution(string a, string b) { int maxLength = Math.Max(a.Length, b.Length); int carry = 0; string result = ""; for (int i = 0; i < maxLength; i++) { int digitA = (i < a.Length) ? a[a.Length - 1 - i] - '0' : 0; int digitB = (i < b.Length) ? b[b.Length - 1 - i] - '0' : 0; int sum = digitA + digitB + carry; carry = sum / 10..
2023.09.20 -
1072 게임 - Python
X, Y = map(int, input().split()) current_win_rate = (Y * 100) // X if current_win_rate >= 99: print(-1) else: low, high = 0, 1000000000 answer = -1 while low current_win_rate: high = mid - 1 answer = mid else: low = mid + 1 print(answer) 이분법으로 푼 내용입니다. X, Y = map(int, input().split()) Z_origin = int(Y / X * 100) answer = X**2 / (99*X - 100*Y) if X + answer: answer = answer // 1 + int(bool(answer..
2023.09.19 -
배열의 평균값 - Python
def solution(numbers): answer = sum(numbers) / len(numbers) return answer # Test Cases print(solution([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])) print(solution([89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99])) math 라이브러리에 avg 함수가 없길레 단순하게 풀었습니다. import numpy as np def solution(numbers): return np.mean(numbers) 그런데 numpy에 mean 함수가 있네요... numpy에 대한 공부가 필요합니다. 프로그래머스: https://school.programmers.co.kr/learn/cou..
2023.09.19 -
피자 나눠 먹기 (2) - Python
# 유클리드 호제법 # 최대공약수 def GCD(x, y): while y: x, y = y, x % y return x # 최소공배수 def LCM(x, y): result = (x * y) // GCD(x, y) return result def solution(n): answer = LCM(n, 6) / 6 return answer # Test Cases print(solution(6)) print(solution(10)) print(solution(4)) math 라이브러리의 gcd 함수가 있는 것은 알고 있지만... 이렇게 다시 푼 이유가 있습니다. import math def solution(n): return math.lcm(n, 6) / 6 # Test Cases print(solution(..
2023.09.19 -
피자 나눠 먹기 (1) - Python
def solution(n): a, b = divmod(n, 7) answer = a + int(bool(b)) return answer # Test Cases print(solution(7)) print(solution(1)) print(solution(15)) divmod()를 한번 써보고 싶었습니다. def solution(n): return (n + 6) // 7 그런데 깔끔한 풀이를 발견했습니다. 범위를 늘리면 되는 일이었는데 이상한 욕심에 눈이 멀었네요. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/120814 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고..
2023.09.19 -
짝수는 싫어요 - Python
def solution(n): answer = [] for i in range(n + 1): if i % 2: answer.append(i) else: pass return answer # Test Cases print(solution(10)) print(solution(15)) 생각없이 풀었는게 티가 나네요... def solution(n): return [i for i in range(1, n+1, 2)] 다른 사람의 풀이입니다. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/120813 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기..
2023.09.19 -
최빈값 구하기 - Python
def solution(array): answer = -1 num_list = [0 for _ in range(1001)] for item in array: num_list[item] += 1 max_appear = max(num_list) for i in range(1001): if max_appear == num_list[i]: if answer == -1: answer = i else: answer = -1 break return answer # Test Cases print(solution([1, 2, 3, 3, 3, 4])) print(solution([1, 1, 2, 2])) print(solution([1])) 제 풀이는 위와 같습니다. 아래는 세부 설명입니다. num_list = [0 fo..
2023.09.19