전체 글

전체 글

    SSAFY 11기 전공자 합격 후기

    1. 서론 ssafy 11기로 이제 1학기가 거의 끝나가는 중에, 12기 모집공고를 보고 미루고 미루던 후기를 쓰려고 합니다. 12기를 준비하시는 모든 분께 도움이 되길 바라면서 대외비에 걸리지 않는 선에서 최대한 상세히 써보겠습니다. 2. 에세이 작성 저는 에세이 작성이 가장 어려웠습니다. 그동안 자소서를 써본 경험이 많이 없기도 했고, 599자 안에 모든 내용을 적으려 하니 머리가 터질 것 같았습니다. 총 4번을 갈아엎었고, 친구나 카카오톡 오픈채팅에서 첨삭도 받으면서 점차 완성해나갔습니다. 제가 중점을 두고 작성했던 것은 다음과 같습니다. ssafy가 필요한 이유가 무엇인가요? (싸피여야만 하는 이유) 왜 개발자가 되고 싶은가요? -> 밑 질문과 연결될 수 있다면 좋을 듯..! 어떤 개발자로 성장하..

    [BOJ, Python] 소문난 칠공주

    1941번: 소문난 칠공주 총 25명의 여학생들로 이루어진 여학생반은 5×5의 정사각형 격자 형태로 자리가 배치되었고, 얼마 지나지 않아 이다솜과 임도연이라는 두 학생이 두각을 나타내며 다른 학생들을 휘어잡기 시작 www.acmicpc.net 풀이 1. 먼저 25명(5X5) 중에 7명을 뽑는 경우를 구합니다. 조합(순서는 신경쓰지 않음) 으로 for문을 25만큼 돌면서 visited[i // 5][i % 5]를 방문체크해서 모든 조합을 구합니다. 2. 구한 조합이, 서로 가로세로로 붙어있는지 체크하기 위해 bfs를 돌립니다. bfs로 4방 탐색을 하면서, 방문한 적 있으면 조합에 속하는 학생이라는 의미이므로 솜파이면 som +=1, 도연파이면 doyeon += 1을 진행합니다. 3. bfs를 끝내고 솜파..

    [SWEA, Python] 백만 장자 프로젝트

    정답 코드 t = int(input()) for tc in range(1, t+1): ans = 0 n = int(input()) price = list(map(int, input().split())); while len(price) != 0: max_idx = price.index(max(price)) cal = price[:max_idx] for i in range(len(cal)): ans += abs(price[max_idx] - price[i]) price = price[max_idx+1:] print(f'#{tc}', ans) 풀이 과정 1. dfs 재귀로 시도 -> 실패(시간초과) def dfs(idx, benefit, cost): global n, price, ans if idx == n:..

    [프로그래머스, Python] 두 원 사이의 정수 쌍

    정답 코드 import math def solution(r1, r2): num = 0 for x in range(1, r2+1): y_max = math.floor(math.sqrt(r2**2 - x**2)) y_min = 0 if x >= r1 else math.ceil(math.sqrt(abs(r1**2 - x**2))) num += y_max - y_min + 1 return num * 4 풀이 먼저, 문제에서 제시해 준 그림을 보면, 작은 원(r1)이나 큰 원(r2)사이의 정수를 모두 구하는 문제라는 것을 쉽게 알 수 있습니다. 이때, 모든 정수 쌍을 구하는 것이 아닌, 같은 패턴의 반복이므로 하나의 사분면의 정수 쌍을 모두 구한 뒤 *4를 해주면 답을 더 쉽게 구할 수 있습니다. 저는 1사분면을..

    [프로그래머스, Python] 등굣길

    프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 학교(m,n)에서 집(0,0)으로 가는 방법 def dfs(x, y, dp): if x < 0 or y < 0 or dp[y][x] == -1: return 0 if dp[y][x] == 0: dp[y][x] = dfs(x - 1, y, dp) + dfs(x, y - 1, dp) return dp[y][x] def solution(m, n, puddles): dp = [[0 for _ in range(m)] for _ in range(n)] for p in puddles: x, y = p dp[y-1][..