728x90

파이썬 62

삼성기출, 백준 23288 주사위 굴리기2 파이썬 코드/풀이

한시간 정도 잡고 풀었는데 한시간 반 걸렸다. 예제에 안되는 문제가 있어서 디버깅 해보니까 주사위 돌리는 과정에서 딥카피가 안돼서 오류가 나고 있었다. 해당 부분 for문으로 값을 넣어줘서 딥카피로 해결했다. 총 4개 함수를 만들어서 풀었다. 1. 이동 방향 결정 + 주사위 모양 바꾸기 2. 주사위가 이동하는 부분의 좌표 확인 3. 좌표 확인시 뒤로 되돌아가는 경우 이동방향 재결정 및 주사위모양 다시바꾸기 4. 점수계산 N, M, total = map(int, input().split()) grid = [] for i in range(N): grid.append(list(map(int, input().split()))) dice = [[0 for i in range(3)] for j in range(4)..

프로그래머스 greedy 문제 조이스틱 파이썬 풀이/코드 (LV2..이긴한데 LV2맞나)

문제설명 ㄱ 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 간단히 얘기하자면, 예를들어, AAA라는 문자열이 있으면 이걸 JAZ 라는 주어진 문자열로 바꾼다고 생각하자. 그 과정의 모든 동작을 카운트하는데 시작은 맨 왼쪽 0번째 문자열인데, A를 J까지 바꾸는데 총 9번의 순서가 소요된다. 그리고 이제 왼쪽 문자열(-1째 문자열)로 넘어가는데 한번의 순서가 소요되고 A -> Z까지 갈 때에는 정 순서보다 역순서가 더 빠르니까 역순서로 ..순서를 카운트해서 또 한번을 추가한다. 이렇게 하면..

프로그래머스 네트워크 문제 풀이/코드, 파이썬, BFS! LV3같지 않은 LV3문제

전체 코드가 궁금한 분은 아래 링크 눌러주세요 ㅎㅅㅎ GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 컴터들이 여러개가 있는데.. 연결 돼있는것도있고 안돼있는 것도 있다고 한다. 컴터가 A, B, C가 있을때 A-B연결돼있고 B-C연결돼있으면 이걸 하나의 네트워크라고 보는데..

220324 넥슨 데이터분석 코딩테스트, sk ict family 2차 코딩테스트 후기

지난 토요일(3/19) sk ict family 2차 코딩테스트가 있었고 엊그제 (3/22)화요일에 넥슨 코딩테스트가 있었다. 일 하고 와서 힘드니까 간단히만..쓰겠습니다.ㅋㅋㅋ 누군가는 도움이 될거같아서, 특히 넥슨 코딩테스트. 1. sk ict family 코딩테스트 2차 : 1차 코딩테스트는 통과였어서, (아마 나는 3솔) 2차 코딩테스트를 볼 기회가 생겼다. 솔직히 말하면 그렇게 잘 보지를 못햇다.ㅋㅋㅋ 1번부터 4번까지 4문제가 있었(던것같은데) 시간제한은 4시간이였다. 1번문제는 그냥 문자열 문제였다. 그렇게 어렵진 않았는데 뭐 시간제한이 있으면 틀렷을수도 ? for문으로 풀엇으니까. 근데 딱 한가지 예외 케이스가 있어서 이런 경우만 잘 생각하면 되는 문제였다. 그냥 문자열 문제. 2번 문제는..

sk ict family 챌린지 코딩테스트 후기

3시간동안 나온 문제는 총 4문제였다. 첫번째 문제는 그냥 쉬운 문제였다. dp로 푼 사람도 있다고 하는데 나는 가성비 따져서 풀었다. 무슨 문제라고 적을 순 없지만 솔직히 나는 dp풀이보다 내 풀이가 더 쉬운 풀이라고 생각한다. 물론 다이나믹 프로그래밍 풀이가 더 일반적(general)이긴 하겠지만. 두번째 문제는 cos pro 소용돌이 수 같은 문제. 물론 그것보단 어려움 ^^; 구현문제라 배열을 잘 쓸 수 있으면 문제 없이 풀 수 있다. 음. cospro 소용돌이 수를 예시로 들면, 소용돌이 수를 풀때 어떻게 탐색 방향을 바꿀지 모르겠다고 그 부분이 어렵다는 사람이 많다. 개인적으로는 탐색 방향을 바꿔가면서 푸는 cospro 소용돌이 수 같은 문제들은 다른 규칙을 찾아서 풀면 더 쉽다고 생각한다. ..

백준 14891 톱니바퀴 코드, 해설(파이썬)/ 삼성기출, 실버1 구현문제

코드만 궁금한 분은 깃허브 링크 눌러주세요 GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ~~ 오랜만에 문제 푼거 올리려니까 내가 그동안 어떤 식으로 글 썼었는지 까먹음;; 4개의 톱니바퀴가 있고 톱니바퀴를 움직인다. 톱니바퀴는 1번부터 4번까지 있고, 주어진 입력에 따라 각각을 시계방향 또는 반시계방향으로 회전시킨다. 이 때 각 톱니바퀴의 끝에는 주어지는 입력에 따라 N극 S극이 정해져잇는데, 이 극성끼리의 관계에 따라 옆쪽 톱니에도 영향을 준다. 만약 다른 쪽 톱니바퀴와 마주치는 쪽이 서로 각각 N극과 S극 이면 영향..

Cos Pro 1급 기출문제 소욜돌이 수 풀이/코드, 파이썬(쉬운 풀이)

문제 링크는 따로 걸지 않겠다. 어차피 구름 로그인해서 풀어야하는 문제라서. 나는 코스프로는 사실 존재만 알고잇었다. 그런 코딩 자격증 같은게 있고, 평소에 코딩테스트 연습을 열심히 했다면 쉽게 풀 수 있을 거라는 말들을 많이 들어서 신경 안 쓰고 있었다. 그리고 프로그래머스에 있는 기출을 먼저 풀어보니까 유형에만 익숙해지면 쉽게 풀 수 있을 것 같다는 생각을 했고, (알고리즘 자체가 쉽다) 천천히 공부했다. 그런데 웬걸, 구름에 있는걸 풀어보니까 프로그래머스거 만큼 쉽지가 않았다 ^^;; 특히 이 소용돌이 수 라는 문제는 어떻게 풀지 알 것 같으면서도 정말 이렇게 복잡하게 풀어야한다고?하는 생각이 들어서 20분 가량 소요하면서.. 쉽게 푸는 방법을 알아냈다. 근데 이상한 방식으로 풀려고 하다보니까 머리..

행렬 테두리 확인하기 풀이/코드 (파이썬) 쉬운데 어렵게 푼 문제 LV2

코드만 궁금한 분은 깃허브 링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 전체 행의 갯수, 열의 갯수가 주어진다. 이 때 해당 행렬은 맨 왼쪽 위부터 1, 2, 3 ,4 ,5 ,6 ..이런식으로 증가하는 행렬로 정의된다. 이후 이 안에 있는 ..

카카오 2021 순위 검색 파이썬 코드/풀이 (Lv 2 라기에는 너무 어려운 문제)

깃허브에서 코드만 볼 분은 링크 눌러주세요! GitHub - Rhyankwon/algorithms Contribute to Rhyankwon/algorithms development by creating an account on GitHub. github.com 문제 설명 ㄱㄱ 이 부분도 실제로 구현해보면 쉽지 않음.... for문이 네개나 들어가고 사이에 combinations도 써야하고. 그러면 이제 query부분에서는 단순히 들어온 단어들을 조합해서 붙여서 dict에 key로 써서 찾으면 된다. 그러면 이제 점수컷을 해야하는데, 아까 숫자들을 sort해서 저장해놨으니까 bisect_left를 써서 조건을 만족하는 인덱스를 찾고 전체 길이에서 그 인덱스만큼 빼면 조건을 만족하는 사람 수만 정확히 나오..

카카오 2021 메뉴 리뉴얼 파이썬 풀이, 코드 / 파이썬은 풀만한 문제

깃허브에서 코드만 볼 분은 링크 눌러주세요~ 문제 설명 ㄱㄱ (Lv 2) 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr orders에 여러 알파벳의 조합이 들어오는데, course에 써있는 크기만한 부분집합들을 만들어야 한다. 이 때 그 부분집합들은 orders에서 최소 2회씩 중복되어야 한다. 그리고 만약 2개 크기의 부분집합을 만들 때 여러 부분집합이 나온다면 그 중 가장 여러번 중복된 것들을 result에 알파벳순으로 리턴하면 된다. 문제 해설 1. course에 있는 숫자를 사용해 order에서 부분집..

728x90