공부/📝 프로그래머스(126)
-
각도기 - Python
def solution(angle): if angle == 180: answer = 4 elif angle > 90: answer = 3 elif angle == 90: answer = 2 else: answer = 1 return answer # Test Cases print(solution(70)) print(solution(91)) print(solution(180)) 생각없이 이렇게 푸는 습관을 고치려는 노력을 해야겠습니다. def solution(angle): answer = (angle // 90) * 2 + (angle % 90 > 0) * 1 return answer 이 코드는 다른 사람이 푼 코드입니다. 시간복잡도는 똑같이 O(1)이지만, 조건문을 체크하는 것보다 단순 연산이 더 빠르므로..
2023.09.21 -
문자 반복 출력하기 - Python
def solution(my_string, n): answer = '' for i in range(len(my_string)): answer += my_string[i] * n return answer # Test Cases print(solution("hello", 3)) 이렇게 썼습니다. def solution(my_string, n): return ''.join(i*n for i in my_string) join문을 이렇게 쓰면 되구나... 싶네요. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/120825 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기..
2023.09.20 -
짝수 홀수 개수 - 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 -
배열의 평균값 - 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