구현

프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 구현 문제. import mathdef solution(w,h): answer = 0 # 전체 사각형 개수 all_square_cnt = w * h # 먼저 w, h의 최대공약수로 w, h를 나눈다. # 나눈 값까지만 사용할 수 없는 정사각형 개수를 계산하고 그 이후는 똑같은 패턴이므로 최대공약수를 곱해주면 된다. gcd = math.gcd(w, h) w //= gcd h //= gcd # h가 더 큰 경우 h / w를 기울기, 0 ~ w까지의 값을 ..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 단순하게 구현해도 풀 수 있는 문제. BFS를 따로 활용할 필요 없이 조건문을 통해 구현할 수 있는 문제다. 풀이 코드# person(P의 좌표)에서 맨해튼 거리가 1, 2인 좌표들을 담은 리스트 close_list에 있는 좌표들이 실제로 거리두기가 지켜지고 있는지 확인하는 함수# 거리두기가 지켜지고 있다면 1 리턴, 그렇지 않다면 0 리턴def is_safe(place, person, close_list): x = person[0] y = person[1] # close_list가 비어있..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 지난 번에 풀다가 결국 못 풀어서 풀이를 봤던 문제라 다시 풀었다.문제의 설명대로 그대로 구현하면 되는 문제.재귀라서 살짝 까다롭다고 생각할 수 있지만 문제의 요구사항을 단계별로 구현하면 그리 어렵지 않게 풀 수 있는 문제다. 풀이 코드# 문자열 u가 올바른 괄호 문자열인지 확인해주는 함수def is_right(u): # 스택 활용 stack = [] for i in range(len(u)): if u[i] == '(': stack.append(u[i]) ..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 테스트케이스 파악이 어려운 빡센 구현 문제다.나도 히든테케 파악을 못해서 계속 40점, 50점, 60점 이렇게 나오다가결국 풀이에 있는 테케를 보고 풀었다. 풀이 코드# 네오가 기억한 멜로디 m이 방송된 곡 melody에 있으면 true, 없으면 false를 리턴하는 함수# C와 C#을 구분해야 함def is_m_in_melody(m, melody): melody = "".join(melody) if m in melody: temp = melody.replace(m, '1') ..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 1def test(arr): new_arr = [] for i in range(2): time = arr[i] hour, minute = time.split(":") new_time = int(hour) * 60 + int(minute) # 대실 종료시각의 경우 청소시간을 포함해서 10분을 추가 if i == 1: new_time += 10 # 대실 종료시각이 23:5..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 큐 자료형을 활용한 문제다. 길이가 같은 두 큐에 들어있는 원소의 합을 같게 만들면 된다.큐는 pop을 통해 먼저 들어간 원소가 나오고, append를 통해 뒤에 원소를 추가한다.이런 큐의 성질을 활용해 로직을 구현했다. from collections import dequedef solution(queue1, queue2): n = len(queue1) # 각 큐의 길이 total = sum(queue1) + sum(queue2) # 모든 큐의 합 # 모든 큐의 합이 홀수인 경우에는 각 큐..
https://www.acmicpc.net/problem/1461 그리디 문제다.처음 문제를 보고, 음수와 양수를 나눠서 풀어야겠다는 생각이 들었다.그리고, 음수, 양수 중 절댓값이 큰 수에 마지막으로 도착하도록 해야겠다는 생각도 해냈다.왜냐하면 갔다가 다시 책을 가지기 위해 원점으로 돌아와야 하는데, 가장 큰 값에 도착했다가 다시 돌아온다면절대 최솟값이 될 수 없기 때문이다. 이런 아이디어는 어떻게든 생각해내니 거의 1시간이 지나있었다.구현해보다가 잘 안되어서 결국 풀이를 약간 참고해서 풀었다. # 1461번: 도서관# 음수와 양수를 나눠서 계산한다.import sysinput = sys.stdin.readlinen, m = map(int, input().split())arr = list(map(int..
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr # 해당하는 영역이 모두 같은 수로 이루어져 있는지 확인하는 함수def check(arr): n = len(arr) global zero_cnt global one_cnt total = 0 for row in arr: total += sum(row) if n == 1: if arr[0][0] == 0: zero_cnt += 1 else: one_cnt += 1 re..
14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net 단순 구현 문제다. 주어진 조건을 잘 구현하면 되는 문제 # 14503번: 로봇 청소기 import sys input = sys.stdin.readline n, m = map(int, input().split()) # 방의 크기 r, c, d = map(int, input().split()) # 로봇 초기 위치, 바라보는 방향(0 ~ 3 -> 북, 동, 남, 서) graph = [list(map(int, input..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 실패율 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간단한 happenundo.tistory.com 풀었던 문제다. 정렬 + 구현 문제. # 실패율 def solution1(N, stages): result = [] # (스테이지 번호, 실패율)을 저장하고 있는 리스트 challenge = [0] * (N+2) # 각 스테이지별 도전 중인 사용자의 숫자를 저..
happenundo
'구현' 태그의 글 목록