profile
개발 일기
post-thumbnail

[ BOJ / Python ] 2660번 회장뽑기

이번 문제는 플로이드-와샬 알고리즘을 통해 쉽게 해결할 수 있었다. 우선 n+1크기의 2차원 리스트를 선언해주고, 친구 관계를 입력받을 때마다 양방향으로 2차원 리스트를 1로 갱신해준다. 그리고 플로이드-와샬 알고리즘을 통해 건너서 친구가 있는 경우를 찾아 값을 채워준

약 8시간 전
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 9466번 텀 프로젝트

이번 문제는 DFS를 통해 학생들 간의 사이클이 존재하는지의 여부를 확인하는 문제이다. 처음에는 dfs함수의 인자로 현재 팀에 속하기로 한 학생들의 번호를 담는 리스트를 넣고, 이를 이용하여 해당 리스트의 첫번째 인자와 현재 학생의 번호가 같을 경우 사이클이므로 팀 리

약 9시간 전
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 2467번 용액

이번 문제는 이분탐색을 통해 해결하였다. l, r 포인터를 양쪽 끝에 두고 시작하였는데, l의 증가와 r의 감소 타이밍을 생각하는 과정에서 시간이 조금 오래 걸렸다. 그러다가 두 포인터가 가리키는 값의 합이 양수일 경우에는 r을 감소시켜 합을 낮추는 방향으로, 두 포인

약 10시간 전
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 3197번 백조의 호수

이번 문제는 단순하게 얼음이 녹는 과정과 백조끼리 만날 수 있는지의 여부를 따로따로 구현하면 시간초과가 발생한다.백조끼리 만날 수 있는지 확인할 때에 백조가 얼음을 만나면 해당 좌표를 큐에 다음 주기의 백조의 위치로 저장해주어야 한다. 얼음이 녹는 과정의 경우에는 물의

어제
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 1644번 소수의 연속합

이번 문제는 에라토스테네스의 체를 통해 주어진 n까지의 소수들을 리스트로 정리하고, 리스트를 순회하며 연속합이 존재하는 경우 결과 변수를 증가시키는 방식으로 코드를 구현하여 해결하였다.

2일 전
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 1406번 에디터

이번 문제는 두개의 스택을 사용하여 해결하였다. 처음에는 단순하게 해당 명령이 입력되면 커서 변수와 문자열을 편집해가는 방식으로 구현하였다. 정답은 잘 도출되었지만, 시간초과가 발생하였다. 다른 방식을 생각해보았고, 다음과 같은 방식을 생각하였다.초기 문자열 s를 스택

4일 전
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 18111번 마인크래프트

이번 문제는 주어진 최대 높이 256까지 임의로 높이를 지정해가며 각각의 칸에 추가해야 할 블록의 수와 지워야 할 블록의 수를 변수로 저장하고, 인벤토리 값을 갱신한 후, 추가하고 지우는 연산이 가능할 경우에 해당 시간과 높이를 구하도록 하였다. 이때 시간이 최소, 높

2022년 6월 27일
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 2115번 갤러리

이번 문제는 주어진 통로와 벽에 대한 길이 2짜리 선분을 안겹치게 가장 많이 찾아내는 문제였다. 처음에는 백트레킹으로 구현하였고, 주어진 테스트 케이스에 대하여 답이 도출되었지만, 재귀가 터지는 에러가 발생하였다. 이를 보고 다른 방법으로 풀어봐야겠다고 생각하였다. 다

2022년 6월 25일
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 15662번 톱니바퀴 (2)

이번 문제는 deque의 rotate함수를 활용하여 해결하였다. 회전시킬 톱니바퀴를 기준으로 왼쪽에 해당하는 톱니바퀴들을 순회하며 맞닿는 부분의 값이 다를 경우에는 l_chain리스트에 인덱스를 담고, 아닐 경우 순회를 종료하였다. 또한 오른쪽에 해당하는 톱니바퀴들을

2022년 6월 23일
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 13901번 로봇

이번 문제는 방문 처리를 진행하며 주어진 순서대로 계속해서 로봇을 움직이도록 하는 문제였다. 처음에는 문제를 제대로 읽지 않아, 주어진 방향 순서로만 이동하고 프로그램을 종료하도록 작성하여 오답 처리를 받았다. 문제를 다시 읽어보니 더 이상 움직일 수 없을 때까지 반복

2022년 6월 23일
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 9519번 졸려

이번 문제는 단어가 원래 자리로 돌아오는 주기를 찾아 반복 횟수를 줄이는 방식으로 해결하였다. 처음에는 입력의 범위를 확인하지 않고, 단순하게 for문을 돌며 주어진 연산의 반대 연산을 실행하도록 구현하였다. 정답은 잘 나왔지만, 시간초과가 났다. 입력의 범위를 확인한

2022년 6월 22일
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 16918번 봄버맨

이번 문제는 간단한 시뮬레이션 문제였다. 매번 격자를 순회하며 폭탄의 위치를 리스트에 담는 함수, 폭발 함수, 폭탄을 만드는 함수를 구현하여 이를 해결하였다. 처음 1초는 가만히 있는다고 했기 때문에 n을 1 감소시켰고, n이 존재하는 동안 반복하는 while문 안에서

2022년 6월 20일
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 5212번 지구 온난화

이번 문제는 처음에 육지에 해당하는 좌표를 모두 리스트로 저장하고, 육지 좌표 리스트를 순회하며 주변 좌표에 육지가 1개 이하일 경우에 해당 육지를 지우도록 하였다. 이때 한번에 지워지는 것이기 때문에 임시 리스트를 선언하여 변경 사항을 임시 리스트에 적용하였다. 출력

2022년 6월 17일
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 2344번 거울

이번 문제는 단순하게 while문으로 이동하는 방법과 bfs를 이용하는 방법 두가지로 풀어보았다. 출구를 찾는 함수, 거울을 만났을 때 방향을 바꾸는 함수를 구현하였고, 이를 이용하여 이동하는 함수를 구현하였다.while문을 이용bfs 이용업로드중..

2022년 6월 16일
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 13335번 트럭

이번 문제는 다리를 큐를 이용하여 해결하였다. 다리를 큐로 구현하고, 0을 다리의 길이만큼 큐에 채운다. 그리고 while문을 돌며 큐의 맨 앞을 꺼내고, 이 값이 0이 아닐 경우 도착 리스트에 값을 넣어준다. 그리고 만약 현재 인덱스가 n보다 크거나 같거나, 다리 위

2022년 6월 16일
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 1253번 좋다

이번 문제는 투포인터를 활용하여 해결하였다. 우선 입력받은 리스트를 오름차순으로 정렬하고, for문을 통해 arr을 하나씩 순회하며 현재 arr을 제외한 임시 리스트를 만들고, 이 안에서 가장 왼쪽, 오른쪽 포인터를 만들고, while문을 돌며 두 포인터가 가리키는 값

2022년 6월 16일
·
0개의 댓글
post-thumbnail

[ BOJ / Python ] 5052번 전화번호 목록

이번 문제는 문자열 슬라이싱과 정렬을 통해 해결하였다. 우선 전화번호들을 입력 받을 때, 전화번호들을 전화번호의 오름차순으로, 길이의 오름차순으로 정렬하였다. 이렇게 정렬을 한 이유는 2중 for문으로 전화번호들을 비교하는 과정에서 현재 전화번호의 앞부분이 표준이 된

2022년 6월 16일
·
0개의 댓글

[ Programmers / Coding Test / Python ] 순위 검색

본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.카카오는 하반기 경력 개발자 공개채용을 진행 중에 있으며 현재 지원서 접수와 코딩테스트가 종료되었습니다. 이번 채용에서 지원자는 지원서 작성 시 아래와 같이 4가지 항목을 반드시 선택하도록 하였습니다.코딩테

2022년 6월 9일
·
0개의 댓글
post-thumbnail

[ Programmers / Coding Test / Python ] 삼각 달팽이

정수 n이 매개변수로 주어집니다. 다음 그림과 같이 밑변의 길이와 높이가 n인 삼각형에서 맨 위 꼭짓점부터 반시계 방향으로 달팽이 채우기를 진행한 후, 첫 행부터 마지막 행까지 모두 순서대로 합친 새로운 배열을 return 하도록 solution 함수를 완성해주세요.n

2022년 6월 8일
·
0개의 댓글

[ Programmers / Coding Test / Python ] 최고의 집합

자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다.각 원소의 합이 S가 되는 수의 집합위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합예를 들어서 자연수 2개

2022년 6월 7일
·
0개의 댓글