728x90 코딩테스트/구현11 KMP 알고리즘 보호되어 있는 글 입니다. 2024. 3. 26. [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. <PART 3> 백준 1010번: 다리 놓기 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 #boj, 1010번 t = int(input()) #n!구하는 식 def comb(num): count = 1 for i in range(1,num+1): count *= i return count for test in range(t): n,m = map(int,input().split()) print(comb(m)//(comb(n)*comb(m-.. 2022. 11. 17. <PART 3> Q9.프로그래머스 2020 KAKAO BLIND RECRUITMENT 문자열 압축 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - input.txt파일 만들었을 때 코드 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 import sys sys.stdin = open('input.txt') def solution(s): # 문자열 s이 .. 2022. 11. 15. <PART 3> Q8. 문자열 재정렬 알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 어어서 출력합니다. 입력 예시 1) K1KA5CB7 출력 예시 1) ABCKK13 입력 예시 2) AJKDLSI412K4JSJ9D 출력 예시 2) ADDIJJJKKLSS20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import sys sys.stdin = open('input.txt') for test in range(2): result = [] count = 0 n = list(input()) #원소하나씩꺼내기 for i in n: if i.isalpha(): result.append(i) else: co.. 2022. 11. 15. <PART 3> Q7.백준 18406번: 럭키스트레이트 https://www.acmicpc.net/problem/18406 18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 n = list(input()) count_left = 0 count_right = 0 for idx in range(len(n)): # 인덱스를 2로 나눠서 앞뒤 계산 if idx 2022. 11. 15. <PART 2> 구현(완전탐색,시뮬레이션) 구현: 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정 EX) 리그오브레전드에서 정글이라는 포지션으로 이길 수 있는 완벽한 계획이 있다라더라도 피지컬이 안되면 진다. 하지만 구현은 계획만 있어도 된다. 완전탐색 : 모든 경우의 수를 주저 없이 다 계산하는 해결 방법 시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행해야하는 문제 유형 예제 4 -1 상하좌우 N x N 크기의 정사각형 공간이 있다. 맨 왼쪽 위가 (1,1)이고 차례대로 좌표가 부여된다. 1. 처음 시작은 (1,1)이며, 다음 행동으로 옮길 때 이동의 규칙이 있다. 2. 상하좌우중에 1개씩 선택해서 할 수 있으며 정사각형 공간을 넘어가는 동작일 경우 횟수를 추가되지만 움직이지 않는다. 3. 최종 좌표를 출력하라 상하좌우:.. 2022. 11. 4. 이전 1 다음 728x90