분류 전체보기 176

[백준/Python] 1914 : 하노이 탑

문제https://www.acmicpc.net/problem/1914기둥 1, 2, 3이 있고 N개의 원판이 기둥 1에 크기가 큰 순서대로 쌓여있다.기둥 1의 모든 원판을 기둥 3으로 옮기는 최소 횟수를 구하라.단, 기둥 위에서는 반드시 큰 원판이 아래에 위치해야 한다.풀이원판 이동 출력하기이 문제는 절차지향적 사고로 풀리지 않는다. 귀납적으로 생각해야 한다.1번 원판을 기둥 3으로 옮김 -> 2번 원판을 기둥 2로 옮김 -> ... 이런 절차를 정하는 게 아니라 k번 원판의 움직임이 어떨 것인지 생각해야 한다. 즉 일반식을 도출해야 하는데일반식을 도출하는 방법은 가장 작은 크기의 경우를 시뮬레이션해보는 것이다. 원판 개수는 1~100이므로 가장 작은 경우부터 생각해보자. 원판이 기둥 1에 한 개 있는 ..

정글/알고리즘 2025.03.20

[백준/Python] 8958번 : OX퀴즈

문제https://www.acmicpc.net/problem/8958 나의 풀이나는 리스트를 순차적으로 탐색하면서 값이 O이면 cnt를 하나 올리고 X이면 cnt를 초기화하여 풀었다.import sys, math# 점수는 연속된 O의 개수# 테스트 케이스 받기# 각 번호의 점수가 몇 점인지 구하기# -> 만약 이전 채점 결과가 O였고 지금도 O라면 현재 점수는 이전 점수 +1# 모든 점수를 더한 후 출력하기t = int(input())for i in range(t): result = list(input()) score=0 total=0 for j in result: if j=='O': score+=1 total+=score ..

정글/알고리즘 2025.03.20

[정글/회고] 1주차 회고

아까 운영진 티타임에 갔다 왔다. 30명 가량의 우리반 사람들이 다 같이 모여 앉아서 한 주를 회고했다.벌써 1주차가 끝났다니..! 이번 주를 회고해보자 ~ 내가 이번 주에 가장 기억에 남았던 활동은 팀활동이다.거의 매일 정해진 시간에 두 세시간 가량 모여서 각자 푼 알고리즘 문제를 발표하고 컴퓨터 시스템 책을 읽었다. 우리 팀은 게더타운과 노션을 활용했다.스터디룸 모니터에 한 사람 pc만 연결하는 게 불편해서 게더타운에서 화면 공유를 하며 자신이 푼 코드를 설명했다. 셋 모두 파이썬으로 알고리즘을 푸는 게 처음이라서 간단한 입출력, 배열, 반복문, 조건문, 문자열 문제를 풀 때 서로 사용한 라이브러리가 달랐다. 그래서 어떤 방법이 더 성능이 좋은지, 차이점은 무엇인지 고민해볼 수 있었다.나 혼자 공부했..

정글/회고 2025.03.20

[백준/Python] 1182번 : 부분 수열의 합

오늘 시험에 나온 문제인데 45분을 투자했음에도 제 시간 안에 못 풀었다.재귀 탐색 아이디어는 맞았는데 종료 조건이 틀렸고 재귀 인자로 넘기는 값이 뭔지 정확하게 파악하지 못했고문제 조건을 제대로 고려하지 않았다. 문제 분석https://www.acmicpc.net/problem/11825 0 //N원소개수 S부분수열의 합-7 -3 -2 5 8 //수열 주어진 수열에서 부분 수열의 원소 개수 합이 S가 되는 경우가 몇 개인지 구하는 문제이다.위와 같이 주어진 경우 [-3, -2, 5] 한 가지 있으므로 답은 1 아이디어?부분 수열을 만들려면 N개의 원소 각각이 선택되거나 선택되지 않아야 한다.-> 두 가지 경우를 나누어 재귀 호출 오답노트틀린 코드 :numbers = [input받은 list]cnt = ..

정글/알고리즘 2025.03.20

[정글/회고] 알고리즘 특강

오늘 코치님이 간단하게 알고리즘 관련해서 강의를 해주셨는데 내용을 정리해보려고 한다. 1. 재귀함수를 짜는 방법재귀함수는 점화식을 구한 후 점화식을 코드로 나타내는 방법으로 접근하면 쉽다.코치님의 교수님께서는 base condition과 함수를 구한 후 그것을 코드로 나타내라고 하셨는데 점화식으로 이해하면 쉽다는 이야기인듯마침 나도 비슷한 방식을 사용하고 있어서 조금은 괜찮은 방향으로 문제를 풀고 있었구나 생각했다.알고리즘 스터디를 할 때 먼저 문제를 분석한 후 코드 설계(수도 코드 짜기)를 한 후 그에 맞게 코드를 생성하는 연습을 했었는데 괜찮은 방법인듯! 그 때도 어떻게 보면 대기업 합격한 분들의 문풀 팁을 듣고 풀이 방법을 바꾼건데 역시나 잘 하는 사람들을 모방해야 좋은 것 같다. 2. 재귀를 사용..

정글 2025.03.19

[백준/Python] 1074번 : Z

문제 분석https://www.acmicpc.net/problem/1074재귀 탐색은 같은 패턴의 행동이 여러 번 반복될 때 쓰일 수 있다.이 문제도 탐색 범위만 변경될 뿐 z모양으로 탐색하는 행동이 여러 번 반복되므로 재귀 탐색으로 풀 수 있다. base condition(모든 입력값에 대해 귀결되는 조건)은 (r, c)에 도달하는 것이 부분이 재귀 탐색 안에 종료 조건으로 포함됨함수를 정의해보자. 한 변의 길이가 k인 정사각형을 z모양으로 탐색하면 된다.정사각형을 사등분해서 맨 왼쪽 위에 있는 좌표들을 재귀호출함오답 노트Z모양으로 탐색이 반복되므로 한 변의 길이가 K인 정사각형을 네 개로 분할한 후 탐색을 반복해야겠다고 생각함그리고 r, c를 찾았음에도 불구하고 그 뒤의 좌표까지 다 세어지길래 재귀 ..

정글/알고리즘 2025.03.19

[정글/회고] 커피챗 후기

오늘 우리반 코치님께 커피챗을 신청했다.사실 첫 주라서 막 심각한 고민은 없었는데 그냥 커피챗은 많이 하면 좋겠다는 생각에 일단 질문이 없어도 신청했다. 질문 : 컴퓨터 시스템 공부를 제대로 하고 있는지? 대학 강의랑 병행하면서 공부하고 있는데 좋은 방법인가?답변 : 좋은 방법이긴 한데 누군가가 쉽게 가르쳐주는 것으로부터 공부하면 나중에 예상치 못한 에러가 발생했을 때 문제를 해결하지 못할 수 있다. 혼자서 어떤 단서들을 찾아서 문제를 해결해보는 경험을 통해 공부하는 것이 더 좋아보인다. 예를 들어 자고 있는데 에러가 발생했다는 알림이 왔다. 사유는 어떤 데이터가 누락됐다는 것. 그러면 아무도 왜 그렇게 됐는지 원인을 알려줄 사람이 없다. 혼자서 해결 방법을 찾아야 한다. 코치님이 그럼 너는 이 상황에서..

정글/회고 2025.03.18

[정글/회고] 에세이

지나온 과거에 대하여진로에 대한 고민이 깊어지던 대학교 3학년 때, 프로그래밍에 관심이 생겨서 복수전공을 신청했다.그러나 본전공에 비해 따라가기가 몇 배는 어려웠다. 쏟아지는 컴퓨터 구조, 알고리즘, 자료구조, c언어 지식들 속에서 허둥대다가 어찌 저찌 웹 프로젝트 하나를 끝내고 졸업을 하게 되었다. 그리고 취업 시장에 발을 딛었지만 아무런 사용가치가 없는 나를 채용해줄 리 없었다.먼저 취업을 위한 코딩 테스트 연습과 포트폴리오가 필요했다. 스터디 카페를 매일 출석하며 코딩 테스트를 하루에 두 세문제씩 풀었다. 한 문제 당 두 시간 이상 써도 풀까 말까 하는 날들이 계속 되었고 가끔 내가 이 일이 적성에 맞지 않나 하는 생각에 좌절도 했다.그러나 코딩이 재밌기도 해서 내가 재능이 없을지언정 업으로 삼고 ..

정글/회고 2025.03.14