본문 바로가기

Algorithm39

[Python] 파이썬 리스트 중복 제거 for문을 이용한 리스트 중복 제거 1. 중복된 원소가 제거된 리스트를 담을 새로운 리스트 result 생성 2. 중복을 제거하려는 리스트를 for문으로 돌면서 result에 있는 값인지 확인 3. 존재하는 값인 경우 pass 아닌 경우는 result 리스트에 추가 array = [10, 7, 8, 9, 3, 10, 7, 1] result = [] for i in array: if i not in result: result.append(i) print(result) set 자료 구조를 이용한 리스트 중복 제거 set 자료구조의 가장 큰 특징은 중복이 불가하다는 것이다. 이 성질을 이용해 리스트의 중복 제거를 할 수 있다. 1. 리스트를 set 자료구조로 변환(이 과정에서 중복제거가 됨) 2. set 자료.. 2023. 8. 30.
[알고리즘] 거스름돈 동전의 최소 개수 구하기 - 그리디 알고리즘, 탐욕 알고리즘 문제 당신은 음식점의 계산을 도와주는 점원이다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다고 가정한다. 손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러줘야 할 동전의 최소 개수를 구하라. 단, 거슬러 줘야 할 돈 N은 항상 10의 배수이다. 문제 접근 방법 가장 큰 화폐 단위부터 돈을 거슬러 주기 코드 n = int(input()) count = 0 coin_types = [500, 100, 50, 10] for coin in coin_types: count += n // coin n %= coin print(n) 문제와 풀이의 출처는 '이것이 취업을 위한 코딩 테스트다 with 파이썬' 입니다. 2023. 8. 8.
[알고리즘] 프로그래머스(Level 1) - 3진법 뒤집기(Java) class Solution{ public int solution(int n){ int answer = 0; String temp = ""; while(n!=0){ int num = n%3; temp += Integer.toString(num); n /= 3; } answer = Integer.parseInt(temp, 3); return answer; } } 2022. 7. 22.
[알고리즘] 프로그래머스(Level 1) - 가운데 글자 가져오기 class Solution { public String solution(String s){ String answer = ""; if(s.length()%2 != 0) answer = s.substring(s.length()/2, s.length()/2 +1); else answer = s.substring(s.length()/2 -1 , s.length()/2 +1); return answer; } } 2022. 7. 16.
[알고리즘] 프로그래머스(Level1) - 수박수박수박수박수?(Java) https://programmers.co.kr/learn/courses/30/lessons/12922 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 programmers.co.kr class Solution { public String solution(int n) { String answer = ""; String s1 = "수"; String s2 = "박"; for(int i=0; i 2022. 6. 19.
[알고리즘] 프로그래머스(Level1) - 약수의 합(Java) https://programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr 2022. 6. 18.