728x90 코딩테스트77 KMP 알고리즘 보호되어 있는 글 입니다. 2024. 3. 26. 입력받는 방법 https://bio-info.tistory.com/157 2023. 9. 23. [python] Lv.2 프로그래머스: 다리를 지나는 트럭 https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 def solution(bridge_length, weight, truck_weights): # 트럭이 움직이는 구조로 만든다. truck_on_bridge = [0]*bridge_length answer = 0 while len(truck_on_bridge): answer += 1 truck_on_bridge.pop(0) if tr.. 2023. 3. 8. [python] Lv.2 프로그래머스: 이진 변환 반복하기 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 def solution(s): global cnt_0 # 0제거 카운트 global cnt_binary #이진화 카운트 global binary_array binary_array = [] array = [] if s == "1": return for i in s: .. 2023. 3. 8. [python] Lv.2 프로그래머스: 최솟값만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 2 3 4 5 6 7 8 9 10 def solution(A,B): answer = 0 # 수식을 계산하면 최솟,최댓값을 더하면 성립함. A.sort() B.sort(reverse=True) for i in range(len(A)): answer += A[i] * B[i] return answer cs 최솟값을 구할때 (최솟값,최댓값)을 쌍으로해서 곱하면 된다는 것을 처음 알게 되었다. 이를 .. 2023. 3. 8. [python] Lv.2 프로그래머스: 올바른 괄호 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #혁준 def solution(s): s = list(s) cnt_left = 0 cnt_right = 0 # 오른쪽 )이 많다면 바로 false for i in s: if i =='(': cnt_left +=1 else: cnt_right +=1 if cnt_right > cnt_left: return False #.. 2023. 3. 8. [python] Lv.2 프로그래머스: JadenCase 문자열 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 2 3 4 5 def solution(s): s = s.split(" ") lam_numbers = list(map(lambda n: n[0].upper() + n[1:].lower() + " " if n!='' else " ", s)) answer = ''.join(lam_numbers) return answer[:-1] Colored by Color Scripter cs 풀이: 공백도 출력.. 2023. 3. 7. [python]백준 15650번: N과 M (2) https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import sys sys.stdin = open("input.txt",'r') input = sys.stdin.readline # 순열, 1~n까지 숫자 중에 중복없이 m개 뽑기 n, m = map(int,input().split()) # 빈 배열 생성 arr =[] de.. 2023. 2. 20. 백트래킹 문제 모음 https://www.acmicpc.net/step/34 2023. 2. 19. [python]백준 15649번: N과 M (1) https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import sys #sys.stdin = open("input.txt",'r') input = sys.stdin.readline n,m = map(int,input().split()) # 빈 배열 선언 arr = [] def dfs(): if len(arr) ==m: print(' '.join(map(s.. 2023. 2. 15. [python]백준 9663번: N-Queen https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 어려워서 보류 2023. 2. 15. [python] 백준 11399번: ATM https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import sys #sys.stdin = open('input8.txt','r') input = sys.stdin.readline n = int(input()) p = list(map(int,input().split())) p.sort() answer = 0 for i in range(1,len(p)+1): # 총 p만큼의 사람이 기다림 for j in rang.. 2023. 1. 30. [python] 백준 1012번: 유기농 배추 #bfs 실행 for i in range(n): #바깥리스트 for j in range(m): #내부리스트 if graph[i][j] == 1: bfs(i,j) cnt += 1 # cnt = bfs(i,j) print(cnt) https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 위의 문제는 전형적인 bfs/dfs 문제이다. 그러나 최근에 이와 같은 전형을 풀어보지 않아서 개념을 까먹은 상태였다. 그래서 관련 개념을 한번 짚고 문제를 풀려고 한다. DFS는 깊이.. 2023. 1. 29. [python] 백준 11047번: 동전 0 https://www.acmicpc.net/user/gurwns876 gurwns876 정보 시도했지만 맞지 못한 문제 www.acmicpc.net 동전 거스름 돈 문제는 그리디 알고리즘에서 유명한 문제이다. 1. 문제 해석 1) 각 동전이 다음 동전이 될 때 n의 배수이므로 큰 숫자부터 차례대로 나누면 된다. 2) 이때 총합 k를 구할 때 동전의 갯수를 구하면 된다. 2. 풀이 1. 동전이 n의 배수이므로 그리디 알고리즘을 사용하면 된다. 2. 처음부터 큰 숫자를 나눈 다음, 몫을 answer에 더하고 나머지를 k에 다시 대입하여 해결한다. (동전의 n의 배수가 아닐 때는 그리디 알고리즘을 사용하면 안된다. 이 문제도 추후에 풀어보자) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1.. 2023. 1. 28. 그리디 문제 모음 그리디 문제 그리디 문제를 풀 때 간단하게 생각했었다. 그러나 실제로 코딩테스트를 칠 때 생각과 달리 구현과정에서 까다롭게 느껴지는 문제들이 많았다. 그래서 이 참에 한번에 정리해서 풀어 보려고 한다. 11047번 동전 0 https://www.acmicpc.net/problem/11047 1012번 유기농 배추 https://www.acmicpc.net/problem/1012 ATM 11399 https://www.acmicpc.net/problem/11399 로프 2217 https://www.acmicpc.net/problem/2217 2583 영역구하기 https://www.acmicpc.net/problem/2583 11000 강의실배정 https://www.acmicpc.net/problem/.. 2023. 1. 26. 이전 1 2 3 4 ··· 6 다음 728x90