일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 힙큐
- 프로그래머스
- 자바스크립트
- Python
- JavaScript
- heapq
- cs공부
- 백준
- programmers
- 토이프로젝트
- 알고리즘
- cim
- Baekjoon
- 현대자동차
- 탐욕법
- 비전공자
- 파이썬
- softeer
- 현대
- Algorithm
- Java
- alogorithm
- 딥러닝
- re_lunchu
- 그리디
- GAN
- 소프티어
- MES
- 스마트팩토리
- 자바
- Today
- Total
목록파이썬 (71)
eaz_coding
문제 요약 문자열 안에 P 로봇의 위치에서 k 간격 사이에 있는 H만 집을 수 있을 때, H를 집을 수 있는 로봇 P의 최대 개수를 구하시오. 원본 https://softeer.ai/practice/6279 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이 처음에는 dfs로 풀었는데 최소 경우는 본인 위치에서 가장 먼 것을 골랐을 때이기 때문에 굳이 dfs로 모든 경우를 확인하기 보다는 가장 먼 위치의 하나를 고르면 최대 개수가 구해진다. 올바른 풀이에 근접하게 접근하는 실력은 많이 늘었는데 범위나 반복 break 조건 같은 부분만 더 신경 쓰면 될 것 같다. import sys input = sys.stdin.readline n, k = map(int, input().split..
문제 요약 N개의 수로 이루어진 리스트가 주어진다. 한 줄에 하나씩 값을 하나 입력할 때, 해당 값이 리스트에서 중앙값이 될 수 있는 경우의 수는? 단, 값은 세개씩만 비교한다. Ex) 1 2 3 4 5 -> 1 2 3 / 1 2 4 / ... 원본 https://softeer.ai/practice/6247 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이 오랜만에 온전히 내힘으로 푼듯한 코드 처음 풀이 방법 생각부터 틀린 부분 찾는 것까지 순조로웠다. 이진탐색은 이제 어디가서 이해했다고 말할 수 있겠다 ㅠㅜ 감격스러웡 풀이 아이디어 이진 탐색으로 값이 있는지 찾으면 해당 인덱스는 앞에 있는 값의 개수이고, n-1에서 인덱스를 뺀수는 뒤에 있는 값의 개수니까 곱하면 되겠다. 여기..
문제 요약 A와 B, 두 개의 조립라인이 있고, A1 -> A2 이렇게 이동하거나 A1->B2 이렇게 i에서 i+1로 라인을 이동할 수 있는데 다른 조립라인으로 이동할 때는 추가적인 이동시간이 걸린다. 가장 빠른 조립라인의 시간을 구하여라. 원본 https://softeer.ai/practice/6287 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이 풀이1(시간초과 및 오답) 처음 재귀로 접근했을때, 예시 테스트 케이스만 맞고 두개는 오답, 두개는 시간초과가 떴다. 시간초과는 예상 했는데 오답인 부분은 어디서 오답이 발생하는 지 모르겠다. import sys input = sys.stdin.readline n = int(input()) arr, AB = [[0]*n for _..
문제 요약 n*n 배열에서 m개의 위치를 차례대로 방문할 수 있는 경로의 개수는? 원본 https://softeer.ai/practice/6246 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이 import sys input = sys.stdin.readline n, m = map(int, input().split()) arr = [list(map(int, input().split())) for _ in range(n)] goals = [] for _ in range(m): x, y = map(int, input().split()) goals.append((x-1, y-1)) answer = 0 d = [(-1,0), (1,0), (0,-1), (0,1)] visited = [..
문제 요약 L만큼의 거리 사이에 N개의 휴게소가 세워져 있다. M개의 휴게소를 더 추가로 세워서 구간 사이의 거리 줄이려고 한다. 이미 세워진 곳과 출발지점, 끝지점에는 추가로 휴게소를 못 만든다. 휴게소를 더 세웠을 때, 구간 최대값 중 최소값은 얼마인가? 원본 https://www.acmicpc.net/problem/1477 1477번: 휴게소 세우기 첫째 줄에 현재 휴게소의 개수 N, 더 지으려고 하는 휴게소의 개수 M, 고속도로의 길이 L이 주어진다. 둘째 줄에 현재 휴게소의 위치가 공백을 사이에 두고 주어진다. N = 0인 경우 둘째 줄은 빈 줄 www.acmicpc.net 풀이 이 문제는 얼마 전에 풀었던 프로그래머스 징검다리 문제랑 같은 문제이다. https://eaz-coding.tisto..
문제 요약 컴퓨터 성능을 향상 시킬 때, 비용은 (향상하려는 목표 - 컴퓨터 성능)의 제곱 만큼이 사용된다. b 이내에서 최소 값을 최대로 끌어 올릴 수 있는 최소값은? 원본 https://softeer.ai/practice/6252 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이 문제를 자세히 제대로 읽자! 처음에 문제를 잘못 이해해서 한참을 엉뚱한 풀이로 풀고 있었다. 예를 들어 5 3 9 8 4 3 1 8 6 이라고 입력값이 들어올때, 사용되는 비용을 1을 5까지 올린다고 하면, 비용 계산을 1->3, 3->5 이렇게 계산해서 (3-1)**2 + 3*(5-3)**2 해서 4+12 = 12 인줄 알았다. 이렇게 계산하는게 아니라 (5-1)**2+3*(5-3)**2 해서 16..
문제 요약 돌의 높이가 갈수록 크도록 밟을 때, 최대 밟을 수 있는 개수는? 원본 https://softeer.ai/practice/6293 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이 머리에 DP라는게 뭔지 약간 흔적 정도는 남아 있어서 DP로 푼다는 건 알아 차렸다. 앞에서부터 값을 비교해서 키워나가는 건데 어떻게 했더라 하면서 풀이를 확인하고 나니 지웠던 풀이 방향이 맞았는데 더 생각해볼걸 아쉬웠다. import sys input = sys.stdin.readline n = int(input()) lst = list(map(int, input().split())) dp = [1] * n for i in range(1, n): tmp = 0 for j in range(i..
문제 요약 distance 만큼의 거리 사이에 rocks의 돌들이 있음. rocks에서 임의의 n개 돌을 제거했을 때, 돌 사이 거리의 최솟값의 최대값은 몇인가? 원본 https://school.programmers.co.kr/learn/courses/30/lessons/43236 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이번에도 스스로 풀지 못했다 ㅠㅜ 언제쯤 알아서 척척 스스로 어른이가 되는가,,, 이번 문제는 그래도 어디서 이분탐색을 해야할지는 어떻게 할지 접근 방식이 근접했다. 돌이 일단 섞여 있으니 돌을 정렬 해주어야 하고, 돌에서 이..
문제 요약 징검다리를 건너는 데 돌마다 건널 수 있는 횟수가 정해져 있음 Ex) 횟수가 3인 돌을 한사람이 건너면 2가 됨. 건너 뛸 수 있는 돌의 개수는 k 개 최대 몇 명이 다리를 건널 수 있는가? 원본 https://school.programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 챕터별로 나누어 풀고 있기 때문에 이진 탐색을 써야 하는 건 알겠는데 어느 부분을 이진 탐색을 하라는 건가,,, 저번에 이진 탐색 풀때랑 같은 문제,,, 다 풀고 난 지금에야 약간의 방식..
문제 문제 요약 입국 심사를 하려고 기다리는 사람 n명, 입국 심사장마다 각각 걸리는 시간이 들어 있는 times가 주어진다. Ex) n = 6, times= [7, 10] 모든 사람이 입국 심사를 하기까지 걸리는 시간을 구하여라. https://school.programmers.co.kr/tryouts/72076/challenges 풀이 사람이 10만명이고, 한사람당 최대 시간이 10억이어서 시간을 하나씩 늘려가면 무조건 시간초과인데 카테고리가 이진 탐색으로 뜨길래 이진탐색인 건 알겠는데 어떤 숫자에서 이진 탐색을 하라는 거지 싶었다. 정말 모르겠어서 다른 사람의 풀이를 슬쩍 보고 답을 찾았다. 1. 최대로 걸릴 수 있는 시간은 times에서 가장 큰 수 * n 명 2. 그 시간 동안에 이분 탐색을 하..