본문 바로가기
반응형

컴퓨터/알고리즘26

[프로그래머스] Lv1 자연수 뒤집어 배열로 만들기_python 문제 풀이 출처 https://programmers.co.kr/learn/courses/30/lessons/12932 문제 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴 입출력예시 문제풀이1 def solution(n): num_list = list(map(int, str(n))) return num_list.reverse() 들어온 자연수를 list 에 넣어주고(string 형으로), 뒤집어줬다. 2022. 7. 5.
[프로그래머스] Lv1 같은 숫자 시러_python 문제 풀이 출처 https://programmers.co.kr/learn/courses/30/lessons/12906 문제 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있다. 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거 단 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지 입출력예시 문제풀이1 def solution(arr): push_arr = [] for i in range(len(arr) - 1): if arr[i] != arr[i + 1]: push_arr.append(arr[i]) push_arr.append(arr[-1]) return push_arr 그리디 풀듯이 푼 문제 배열 앞 뒤로 비교해서 다른 수가 나오면 무조건 push -> 맨 마지막 수.. 2022. 7. 4.
[프로그래머스] Lv1 py개수_python 문제 풀이 출처 https://programmers.co.kr/learn/courses/30/lessons/12916 문제 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 입출력 예시 문제풀이1 def solution(s): s_list = list(s) p,y = 0, 0 for i in range(len(s_list)): if s_list[i] == 'p' or s_list[i] == 'P': p = p+1 elif s_list[i] == 'y' or s_list[i] == 'Y': y = y+1 return p == y 단순히 for 문을 돌려서 문자가 있는지 체크만 해줌 시간.. 2022. 7. 3.
[프로그래머스] Lv1 수박수박수?_python 문제 풀이 출처 https://programmers.co.kr/learn/courses/30/lessons/12922 문제 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 입출력 예시 문제풀이1 def solution(n): 수 = '수' 박 = '박' answer = [0]*(n) for i in range(n): if i % 2 == 0: answer[i]= 수 else: answer[i] = 박 return ''.join(answer) 배열과 for 문을 연습할 겸 풀어봤다. list assignment index out of range 오류가 발생해서 a.. 2022. 6. 28.
[프로그래머스] Lv1 서울에서 김서방 찾기_python 문제 풀이 출처 https://programmers.co.kr/learn/courses/30/lessons/12919 문제 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 입출력 예시 문제풀이1 def solution(seoul): answer = '' for i in range(len(seoul)): if seoul[i] == "Kim": answer = i return "김서방은 "+ str(answer) +"에 있다" for 문 연습 겸 풀어봄 문제풀이2 def solution2(seoul): return (.. 2022. 6. 27.
[프로그래머스] Lv1 체육복_그리디 python 문제 풀이 출처 https://programmers.co.kr/learn/courses/30/lessons/42862?language=python3 문제 몇몇 학생들이 체육복을 도둑맞았는데, 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려줌. 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있다. 예를들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌릴 수 있음 또한 여벌 체육복을 가져온 학생이 체육복을 도둑맞았을 수도 있다. 이럴 때는 남에게 빌려줄 수 없다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve 체육수업을 들을 수 있는 학생의 최댓값을 return 하는 문제 입출력 예시 문제풀.. 2022. 6. 26.
[백준] 알고리즘 10952번 A+B - 5 풀이 (Java Scanner, BufferedReader ver) 백준 알고리즘 10952번 A+B - 5 풀이 (Java) https://www.acmicpc.net/problem/10952 👀 문제 설명 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력: 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 입력의 마지막에는 0 두 개가 들어온다 출력: 각 테스트 케이스마다 A+B를 출력한다. 👀 입출력 예 입력: 1 1 2 3 3 4 9 8 5 2 0 0 출력: 2 5 7 17 7 👀 풀이 Scanner 버전 import java.util.Scanner; public class Main { public static void main.. 2022. 5. 5.
[백준] 알고리즘 1110번 더하기 사이클 풀이 (Java) 백준 알고리즘 1110번 더하기 사이클 풀이 (Java) https://www.acmicpc.net/problem/1110 👀 문제 설명 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 .. 2022. 5. 5.
[백준] 알고리즘 2741번 N찍기, 2742번 기찍N 풀이 (Java) 백준 알고리즘 2741, 2742번 N찍기 풀이 (Java) https://www.acmicpc.net/problem/2741 https://www.acmicpc.net/problem/2742 👀 문제 설명 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 👀 제한사항 👀 입출력 예 N찍기 입력 5 출력 1 2 3 4 5 기찍N 입력 5 출력 5 4 3 2 1 👀 풀이 // N찍기 import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int x = sc.nextInt(); for ( int i=1; i=1; i-.. 2022. 5. 3.
[백준] 알고리즘 2588번 곱셈 풀이 (Java) 백준 알고리즘 2588번 곱셈 풀이 (Java) https://www.acmicpc.net/problem/2588 👀 문제 설명 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 👀 제한사항 없음 👀 입출력 예 입력 472 385 출력 2360 3776 1416 181720 👀 풀이 import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int first = sc.nextInt(); int.. 2022. 5. 1.
[프로그래머스] Lv.1 배열 평균 구하기 (Java) 프로그래머스 LV.1 배열 평균 구하기 (Java) https://programmers.co.kr/learn/courses/30/lessons/12944 👀 문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요 👀 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 👀 입출력 예 arr return [1,2,3,4] 2.5 [5,5] 5 👀 풀이 class Solution { public double solution(int[] arr) { double answer = 0; int sum = 0; for (int i=0; i < arr.length; i++){ sum += arr.. 2022. 4. 29.
반응형