일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 자바
- 탐욕법
- 자바스크립트
- 백준
- re_lunchu
- Java
- cs공부
- heapq
- softeer
- 현대자동차
- programmers
- Python
- 토이프로젝트
- 스마트팩토리
- 소프티어
- 현대
- Baekjoon
- 프로그래머스
- Algorithm
- 딥러닝
- 힙큐
- 티스토리챌린지
- alogorithm
- JavaScript
- GAN
- cim
- 오블완
- 파이썬
- boj
- Today
- Total
목록eaz_algorithm (89)
eaz_coding
문제 요약 어떤 번호의 앞글자가 다른 번호랑 같으면 false, 해당하는 번호가 하나도 없으면 true를 return하시오. 원본 https://school.programmers.co.kr/tryouts/72082/challenges 풀이 문자열을 하나씩 추가하면서 확인하면 오래걸려서 시간초과 나지 않을까? 했는데 안났다.ㅎ def solution(phone_book): answer = True phone_book.sort() phones = dict() for p in phone_book: phones[p] = 1 for p in phone_book: arr = '' for pp in p: arr += pp if arr in phones and arr != p: return False return an..

문제 요약 석유관을 수직으로 꽂을 때, 어느 곳에서 꽂는 것이 가장 많은 양의 석유를 얻을 수 있는 지 구하시오. 원본 https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1번 열에 석유관을 꽂았을 때, 이어져 있는 2번 열까지 이어지는 부분이 있다면, 2번 열에 석유관을 꽂아도 1번 열에서 확인했던 곳과 같은 곳을 다시 탐색하게 된다. 이점을 고려해서, 이미 석유 양을 확인한 곳은 처음 확인했던 자리에 석유 양을 저장 시켜 더할 수 있도록..
문제 요약 유령과 남우는 1초에 한칸씩 상하좌우로 이동 가능 남우는 벽 통과 불가능, 유령은 벽 통과 가능 남우가 출구에 도달할 수 있을까? 남우랑 유령이 출구에 동시에 도착하면 통과 못한거임. 원본 https://softeer.ai/practice/7726 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이 처음에는 dfs나 bfs로 하나씩 다 돌려보려고 했다. 그런데 유령이 중간에 남우를 잡는 다는 것은 출구에서 남우까지의 거리보다 유령들의 출구까지의 거리가 더 가깝다는 게 아닐까? 라는 생각을 하게 되었다. 하나씩 움직일 생각에 아찔했는데 생각보다 싱거웠던 문제,, ㅎㅎ 생각의 전환 필요해..! import sys input = sys.stdin.readline from co..
문제 요약 로봇이 이동한 경로를 가기 위한 첫 시작 지점과 방향, 이동하기 위한 명령어를 찾으시오. 원본 https://softeer.ai/practice/6275 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이 시뮬레이션형 문제로 시간은 걸리지만 금방 풀 수 있는 문제 같다. 처음 헤맸던 부분, 방향을 바꾸면 무조건 두칸을 이동하는 것을 안해줬다. 좌표 상에서 방향을 탐색할 때, 원래 진행방향과 방향이 다르면 왼쪽 혹은 오른쪽으로 이동한 뒤 한칸을 이동한 위치가 된다. 따라서 방향 전환하고 두칸 전진! import sys from collections import deque input = sys.stdin.readline h, w = map(int, input().split(..
문제요약n*n크기의 땅에서 m명의 친구들이 3초의 시간동안 농작물을 수확할때 수확할 수 있는 최대 농작물의 수는?친구들이 서있는 위치의 농작물은 0초에 수확한다.친구들 간에 도중에 만날 수는 있지만 한명만 수확한 것으로 친다. 원본https://softeer.ai/practice/7727 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이풀이1(오답) 일단 접근 방식이 맞았다는 사실에 나자신 칭찬해 ㅠㅜㅠ 새로 알게 된 것 첫번째는 permutations으로 친구들의 순서를 바꿔줘야 한다는 점한친구가 먼저 최대 수확량인 곳으로 움직이면 다른 친구가 그것보다 더 많이 먹을 수 있지 않나? 라고 생각만 하고그럼 이걸 어떻게 확인하지? 싶었는데친구들의 수가 최대 세명이기 때문에 perm..
문제 요약 길이가 length인 다리가 최대 weight 무게를 견딜 수 있을 때, truck_weights의 트럭들이 모두 다리를 건너려면 얼마나 걸리는가 풀이 풀이1(오답) 첫번째 풀이의 접근 자체는 나쁘지 않았던 것 같다. 현재 다리 위의 트럭들의 무게와 새로 들어오는 트럭의 합이 기준보다 초과일때, 제일 앞에 있는 트럭이 다리를 다 지날 때까지는 진입을 못한다. 마지막 트럭이 다리 위에 올라오고 나서는 다리 길이만큼 시간이 더 걸리기 때문에 마지막에 다리길이를 한번더 더해준다. 이 풀이는 다리 중간 쯤까지 차가 이동해 있었을 경우를 파악하지 못한다. from collections import deque def solution(bridge_length, weight, truck_weights): a..
문제 요약 바깥에서부터 유입되는 공기와 두면이 맞닿아 있는 얼음이 녹는데 1초가 걸릴 때, 얼음이 다 녹을 때까지 시간이 얼마나 걸리는가? 원본 https://softeer.ai/practice/6281 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 풀이 바깥에서부터 유입되는 얼음과 2면이 맞닿아 있어야 하는 건데 무작정 2면만 닿아있으면 되는 줄 알고 얼음이 있는 곳에서 면이 닿아 있는지를 판단해서 틀렸다. 문제를! 잘읽자! import sys from collections import deque input = sys.stdin.readline n, m = map(int, input().split()) arr = [list(map(int, input().split())) for ..
문제 요약 문자열 안에 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 _..