문제 https://www.acmicpc.net/problem/10986 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 풀이 import sys input = sys.stdin.readline n,m = map(int, input().split()) a = list(map(int, input().split())) s = [0] * n # 합 배열 c = [0] * m# 같은 나머지의 인덱스를 카운트 하는 리스트 answer = 0 s[0] = a[0] for i..
문제 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 풀이 import sys input = sys.stdin.readline n, m = map(int, input().split()) A = [[0]*(n+1)] D = [[0]*(n+1) for _ in range(n+1)] # 합 배열 for _ in range(n): A_row = [0] + [int(x) for x in input().split..
문제 현수는 씨름 감독입니다. 현수는 씨름 선수를 선발공고를 냈고, N명의 지원자가 지원을 했습 니다. 현수는 각 지원자의 키와 몸무게 정보를 알고 있습니다. 현수는 씨름 선수 선발 원칙을 다음과 같이 정했습니다. “다른 모든 지원자와 일대일 비교하여 키와 몸무게 중 적어도 하나는 크거나, 무거운 지원자 만 뽑기로 했습니다.” 만약 A라는 지원자보다 키도 크고 몸무게도 무거운 지원자가 존재한다면 A지원자는 탈락입니 다. ▣ 입력설명 첫째 줄에 지원자의 수 N(5
문제 한 개의 회의실이 있는데 이를 사용하고자 하는 n개의 회의들에 대하여 회의실 사용표를 만들 려고 한다. 각 회의에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하 면서 회의실을 사용할 수 있는 최대수의 회의를 찾아라. 단, 회의는 한번 시작하면 중간에 중 단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. ▣ 입력설명 첫째 줄에 회의의 수 n(1
문제 https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(wallpaper): row, col = [], [] for i in range(len(wallpaper)): for j in range(len(wallpaper[0])): if wallpaper[i][j] == '#': row.append(i) col.append(j) return [min(row), min(col), max(row) + 1, max(col) ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181934 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(ineq, eq, n, m): answer = 0 compare = '' if ineq == '>' and eq == '=': compare = '>=' if n >= m: return 1 else: return 0 if ineq == '' if n > m: return 1 else: return 0 if ineq == '
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(my_string, overwrite_string, s): answer = '' answer = my_string[:s] + overwrite_string + my_string[s + len(overwrite_string):] return answer 설명 기본적으로 문자열의 슬라이싱 기능을 물어보는 문제 같았다. 처음에는 replace 함수를 사용해서 해보려고..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 경화가 한 상자에 담으려는 귤의 개수 k와 귤의 크기를 담은 배열 tangerine이 매개변수로 주어집니다. 경화가 귤 k개를 고를 때 크기가 서로 다른 종류의 수의 최솟값을 return 하도록 solution 함수를 작성해주세요. 제한사항 1 ≤ k ≤ tangerine의 길이 ≤ 100,000 1 ≤ tangerine의 원소 ≤ 10,000,000 입출력 예 k tangerine res..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 좌표평면 상에서 원점 (0, 0)으로부터 주어진 이동 명령어 UDLR(상하좌우)를 실행했을 때, 지나간 길 중 처음 지나가본 길의 길이를 반환하는 함수 작성 풀이 def solution(dirs): sets = set() y, x = 0, 0 udrl = {'U': (1, 0), 'D': (-1, 0), 'R': (0, 1), 'L': (0, -1)} for d in dirs: dy, dx ..