본문 바로가기

~2023/프로그래머스

프로그래머스 '이진 변환 반복하기' 문제풀이(PYTHON) - Henry's Algorithm 안녕하세요 Henry 입니다 오늘은 이진 변환 반복하기 라는 문제를 풀어보았습니다. 프로그래머스에서 Level 별로 문제 난이도가 정해져 있는데, 이 문제는 Level 2에 속해있는 문제입니다. 먼저 이진 변환하는 방법을 알아야 하고, 숫자로 되어있는 문자열에서 0을 제거하는 방법을 알아야 합니다. 저는 문자열을 리스트로 변환해서 문제를 풀었는데, 또 0과 1만 이루어져 있기 때문에, 값을 모두 더하는 것을 1의 개수로 보는 것도 참 좋은 방법일 것 같습니다. 아래는 제가 푼 소스입니다. 코드 보시면서 도움이 되시길 바랍니다ㅎㅎ from typing import List def solution(s: str) -> List[int]: zero_count_list = list() while True: ls .. 더보기
프로그래머스 '짝수와 홀수' 문제풀이(PYTHON) - Henry's Algorithm 안녕하세요 Henry입니다! 오늘은 if라는 문법을 사용한 풀이를 요구하는 문제를 풀어보았습니다. if는 일반적으로 분기를 나눌때 우리가 주로 사용하는 문법이죠? 코드 보시면서 도움이 되시길 바랍니다ㅎㅎ def solution(num): return "Even" if num%2 == 0 else "Odd" 아래는 문제 풀이 영상입니다. https://youtu.be/xLceLn_IDJM - YouTube www.youtube.com 더보기
프로그래머스 '두 수의 곱' 문제풀이(PYTHON) - Henry's Algorithm 안녕하세요 Henry입니다! 오늘은 간단한 사칙연산 중 뺄셈에 대한 풀이를 요구하는 문제를 풀어보았습니다. 코드 보시면서 도움이 되시길 바랍니다ㅎㅎ def solution(num1: int, num2: int) -> int: return num1 * num2 아래는 문제 풀이 영상입니다. https://youtu.be/YA1ezTHYs0Y 더보기
프로그래머스 '두 수의 차' 문제풀이(PYTHON) - Henry's Algorithm 안녕하세요 Henry입니다! 오늘은 간단한 사칙연산 중 뺄셈에 대한 풀이를 요구하는 문제를 풀어보았습니다. 코드 보시면서 도움이 되시길 바랍니다ㅎㅎ def solution(num1: int, num2: int) -> int: return num1 - num2 아래는 문제풀이 영상입니다. https://youtu.be/yBQGiVZeJRs - YouTube www.youtube.com 더보기
프로그래머스 '두 수의 합' 문제풀이(PYTHON) - Henry's Algorithm 안녕하세요 Henry입니다! 오늘은 간단한 사칙연산 중 덧셈에 대한 풀이를 요구하는 문제를 풀어보았습니다. 특별히 타입힌팅에 대한 간략한 예시도 함께 넣어놓았는데요. 코드 보시면서 도움이 되시길 바랍니다ㅎㅎ def solution(num1: int, num2: int) -> int: return num1 + num2 아래는 문제 풀이 영상입니다. https://youtu.be/jPtpqa3ApP8 - YouTube www.youtube.com 더보기
[프로그래머스] 2022 KAKAO BLIND RECRUITMENT - 신고 결과 받기 스타의 풀이 def solution(id_list, report, k): answer = [0] * len(id_list) reports = {x : 0 for x in id_list} for r in set(report): reports[r.split()[1]] += 1 for r in set(report): if reports[r.split()[1]] >= k: answer[id_list.index(r.split()[0])] += 1 return answer 나의 코드 from dataclasses import dataclass from typing import List, TypeVar T = TypeVar('T') @dataclass class User: id: str targets: List[T].. 더보기
프로그래머스 '프린터' 문제풀이(JAVA) - Henry's Algorithm 안녕하세요 Henry's Algorithm의 Henry입니다. 오늘은 제가 프로그래머스 Level 2의 프린터 문제를 풀어보았습니다. 첫 시도는 잘 안풀렸는데, 다음날 다시 풀어보니까, 생각이 잘 정리되서 잘 풀렸네요!ㅎㅎ 문제는 푸는 요령: 저는 Queue 자료구조를 사용해서 풀었습니다. priorities와 index 정보를 가지고 있는 배열 각각 1개씩 만들고, while 문을 통해 priorities가 모두 pop 되기 전까지 우선순위를 비교하는 과정을 반복했습니다. - java.util.Collections을 import해서 List의 최대, 최소를 구할 수 있어, 해당 라이브러리를 사용했습니다. 아래는 제가 푼 코드입니다. import java.util.Queue; import java.uti.. 더보기
프로그래머스 '기능개발' 문제풀이(JAVA) - Henry's Algorithm 안녕하세요 Henry's Alogirthm의 Henry 입니다. 오늘은 프로그래머스의 기능개발 문제를 풀어보았습니다. 문제 푸는 요령: 순서가 중요한 문제여서 배열의 인덱스를 중점적으로 활용해서 푸는 문제입니다. "순서 -> 인덱스 활용" for문으로 순차적으로 접근해주면서 비교 연산자를 통해 풀어주시면 됩니다. 아래는 저의 코드입니다. import java.util.Arrays; class Solution { public int[] solution(int[] progresses, int[] speeds) { int[] dayOfend = new int[100]; int day = 0; // 오늘 / 1 -> 하루 뒤 for(int i=0; i i != 0).toArray(); } } 그럼 오늘도 즐거운.. 더보기