문제 링크 28683번: 피타! 피타! 피타츄! 문제 요약 삼각형 한 변 길이의 제곱인 n이 주어진다. sqrt(n) 길이의 변을 가지는 가능한 합동이 아닌 서로 다른 직각삼각형의 갯수를 출력하라. 단, 직각삼각형의 최소한 두 변은 정수여야 한다. 가능한 직각삼각형의 갯수가 셀 수 없이 많다면 -1를 출력한다. (피타! 피타! 피타츄!의 의미를 글을 쓰면서 깨달았다 😅) 풀이 설명 꽤 여러번의 시도와 다른 사람들의 풀이를 참고한 끝에 문제를 풀었다. 첫 번째 시도: 경우의 수를 나누어 접근 (if n==제곱수) (시간 초과) 기존에는 n이 제곱수거나 아니거나의 두 가지 경우로 나누어 생각해보았다. n이 제곱수라면, 다른 한 변의 길이를 임의의 제곱수로 하고, 나머지는 적절한 길이로 두면 쉽게 두 개 변의..
문제 링크 15900번: 나무 탈출 문제 요약 node가 N개, vertex가 N-1개인 tree가 주어진다. 각 leaf에는 말이 있고, 한 턴에 한 번씩 움직여서 root에 도달하면 말을 제거하는데 이런 방식으로 움직일 말이 없어지는 사람이 패배하는 게임을 하고 있다. 주어지는 tree에서 게임을 할 때, 선공을 하는 형석이가 이긴다면 "Yes" 진다면 "No"를 출력하라. 풀이 설명 tree란 순환이 없는 그래프이다. 그중 특히 이진 트리는 leaf node를 제외한 나머지가 두 개씩 자식 노드를 가진 트리를 말하며, 위 문제에서는 그러한 조건이 달려있지 않았기 때문에 일반적인 트리로 가정한다. 문제를 풀 때, 일반적으로 문제에서 제시된 것들을 코드로 구현하고 거기에서 목표로 하는 값을 구하고자 하..
문제 링크 2961번: 도영이가 만든 맛있는 음식 문제 요약 도영이는 재료 N개로 요리를 만들려고 한다. 각 재료의 신맛과(S) 쓴맛(B)을 알고 있고, 요리의 신맛은 각 재료 신맛의 곱이고, 쓴맛은 합일 때, 신맛과 쓴맛의 차이의 최소값을 구하라. ※ 단, 요리를 완성하기 위해 재료는 1개 이상 사용하여야 한다. ※ N(1 ≤ N ≤ 10)이고, 모든 재료의 신맛과 쓴맛의 합은 1,000,000,000 작은 양의 정수이다. 풀이 설명 이 문제의 알고리즘 분류는 브루트포스, 비트마스킹, 백트래킹이었으나, 가지치기 조건을 찾지 못하여(떠올린 모든 가설 조건에 예외가 발생) 브루트포스 방식으로 해결하였다. 이 문제에서 1, 2, ..., N개의 재료를 선택하는 각 경우에 대해, 모든 경우를 탐색해야 하였으며..
Ctrl + Shift + P 누르고, Python: Select Interpreter 선택한 뒤에, Conda interpreter 선택 → Conda 가상환경에 설치한 패키지가 적용된다!
위의 제목은 사실 본인에게 하는 말이다 😅 이 글에서는 Python에서 queue 구현 시, 반드시 collections.deque를 사용해야하는 구조적인 이유와 더불어, 왜 코드 구현 시에 '코드에 사용하는 코드의 구조'까지 찾아 정리하게 되었는지에 대한 사설이 포함되어 있다. [사설] 이 글과 같은 고민이 중요하다고 느끼게 된 계기 1. list로 queue를 구현한 자의 최후 프로그래머스 2022 KAKAO TECH INTERNSHIP 두 큐 합 같게 만들기 문제에서 런타임 에러+메모리 초과로 문제를 해결하지 못한 적 있었다. (2023.11.10) 학교 선배가 보고, collection.deque를 쓰세요라는 말을 해주셨는데 '아, deque 뭐 그거 파이썬에서 list 대신 쓰는 빠른 자료형이 ..
문제 링크 12489번: 본대 산책 문제 요약 학교 지도가 그래프로 주어진다. 정보과학관에서 출발해 산책한 후 D분 후, 정보과학관으로 돌아오는 산책 경로의 수를 구한다. 단, 산책을 하며 건물에 머무르는 경우는 없고, 각 건물 간 이동 시간은 1분이다. 풀이 설명 백준에 나와있는 이 문제의 알고리즘 유형은 DP와 그래프 이론이었다. 처음 문제를 받고 15분 정도 하다가 감을 잘 못 잡는 것 같아서 알고리즘 유형을 봤다. 내가 이해하고 있는 DP는 이전의 계산값을 사용하여 다음 계산값을 구하는 것, 그래프 이론은 그래프 사용하는 것(?) 학교의 '그래프 이론' 수업을 들어야겠다는 생각이 든다...😅 지금 글 쓰면서 찾은 건데, 파이썬 그래프 구현 방법이 내가 한 방법과 같다..!! 나의 풀이 def po..
안녕하세요 글을 읽으시는 모든 분들 반갑습니다!저는 메페토의 리더를 맡으며, 기획, 리서치, Python 개발과 같이 여러 업무를 맡고 있습니다. 이 글은 메페토가 2023년 4월부터 지금까지 여러 도전을 거치며 조사했던 정치에 대해 여러분께 소상히 밝히기 위해 작성되었습니다.* XX 101이란, XX 분야에 대한 개론이자 가장 기초적으로 알고 있어야 하는 내용을 설명하는 수업이나 글을 의미합니다.대부분 정치에 관심이 없거나, 나아가 싫어하는 분들이 이 글을 읽으시리라 생각하면서, 어떤 내용을 담아야 가장 많이 얻어가실 수 있을지 고민했습니다.저도 현재 우리나라 정치 양상이 마음에 안 드는 부분도 많고, 또 부정적인 모습만 보이는 것도 사실이거든요. 저도 기존 이 당은 우리편, 저 당은 싫어, 또는 이 ..
수강 계기 🛫 최근 스스로 되돌아보았을 때, 논문 이해하기 / 인공지능 수학적 원리 이해하기 / 코드 빠르게 익혀서 사용하기 이런 능력을 기른 반면, 인공지능의 기초가 부족하다는 생각이 많이 들었다. 항아리를 크고 멋지게 만들더라도, 아래에 작은 구멍 하나가 있으면 물이 새듯이 기초에 대한 부족함을 많이 느꼈다. 이를 보완하기 위해 Kaggle의 competition, learning을 통해 지속적으로 공부하기로 마음 먹었다. Kaggle 강의 후기 🏁 위와 같이 학습 코스는 설명 부분인 Tutorial과 실습 부분인 Exercise로 구성되어 있는데, 학습 코스의 주제를 설명하기 위한 스토리텔링이 잘 갖추어져 있어 이해하기에 좋았고 다른 사람에게 배운 것을 설명할 때에도 매우 유용한 아이디어를 많이 배..