[week01] 정글 1주일 차 회고
·
지난 글 모음
정글 1주일 차 회고 SW 정글을 진행한지 7주일이 지났다. 1주일이 7분같이 빨리 지나갔지만 체감은 한달은 대전에 있었던것 같다. 정글 오기 전과 후 정글을 오기 전에는 집에서 혼자 개발 공부를 했다. 하지만 평소에 공부를 하지 않았던 탓에 하루 총 6시간을 집중하기도 쉽지 않았다. 조금 공부하고 눕고 유튜브 보는 것이 일상이였다. 그래서 정글을 오기 전에는 내가 정글에서 많은 시간 앉아서 공부를 할 수 있을까 하는 걱정도 하였다. 하지만 걱정이 무색하게 지난 1주일 간은 평소에는 하지도 못할 만큼 많은 시간을 공부하고 있다. 최소 10시간은 집중해서 공부를 하고 있다. 누구하나 강제로 시키는 사람도 없는데 24명의 동료들 모두 집중해서 주어진 문제를 풀고 있다는게 참 신기하다. 1주일간 느낀점 1주일..
sw정글 - [week01] 특별한 과제(에세이)
·
지난 글 모음
지나온 과거에 대한 성찰 컴퓨터 공학을 전공했지만 나와 맞지 않다고 생각하여 열심히 공부하지 않았다. 그저 시험 점수만 받으려고 벼락치기로 공부했었다. 우연히 시작한 창업동아리에서 앱을 만들면서 개발자의 꿈을 가졌지만 꿈을 가진 뒤에도 열심히 공부하진 않았다. 지난날 열심히 하지 않는 과거에 대해 반성하고 sw정글에서 최선을 다해보겠다. 5개월 동안 내가 어떤 것을 얻어가고 싶은지 좋은 동료 - 이제 6일 차라 아직 서로 어색하고 모르는 동료들도 있지만 5개월 뒤 23명의 좋은 동료가 되었으면 좋겠다. 좋은 동료를 얻기 이전에 나부터 좋은 사람이 되어야 겠다. 꾸준히 공부하는 습관 몰입할 수 있는 능력 - 누구 하나 시키는 사람 없지만 모두들 일찍부터 나와서 코딩 문제를 풀고 있다. 나 또한 같이 나와서..
[백준 python] 18428번 감시 피하기
·
지난 글 모음
[백준 python] 18428번 감시 피하기 레벨: 실버 1 언어: python 문제풀러가기 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net 📑풀이 과정 이 문제는 14502번 연구소 문제와 비슷하다고 생각하여 그러한 방식으로 풀이를 접근했다. 이 문제를 풀기 위해서는 크게 2가지가 필요하다. 장애물을 설치하는 함수 선생의 상하좌우 일직선으로 학생이 있는지 확인하는 함수 1번 함수(solution(count)) solution 함수는 벽을 설치할 수 있는 모든 경우를 찾는 함수이다. 1번의 함수는 재..
[백준 python] 18405번 경쟁적 전염 - DFS/BFS
·
지난 글 모음
[백준 python] 18405번 경쟁적 전염 - DFS/BFS 레벨: 실버1 언어: python 문제풀러가기 📋풀이 코드 import sys from collections import deque input = sys.stdin.readline n, k = map(int, input().split(' ')) graph = [list(map(int, input().split(' '))) for _ in range(n)] t_s, t_x, t_y = map(int, input().split(' ')) virus = [] for i in range(n): for j in range(n): if graph[i][j] != 0: # 바이러스 번호, 시간, X 위치, Y 위치 virus.append((graph[i..
[백준 python] 18352번 특정 거리의 도시 찾기- DFS/BFS
·
지난 글 모음
[백준 python] 18352번 특정 거리의 도시 찾기- DFS/BFS 레벨: 실버 2 언어: python 문제풀러가기 📑풀이 과정 이 문제에서 보면 모든 도로의 거리는 '1'이란 조건이 있다. 그래프에서 모든 간선(문제에서 도로)의 길이가 동일 할 때는 BFS를 이용하여 최단 거리를 찾을 수 있다. 일반적으로 DFS/BFS 알고리즘을 배울때 방문여부를 저장하는 배열을 사용하는데 이 문제에서는 방문여부를 저장하는 배열에 거리 정보를 담아서 탐색하면된다. distance라는 거리 정보를 답은 배열을 -1로 초기화 한다. 탐색시 -1의 값은 아직 방문하지 않은 노드(도시)이다. 그리고 문제 설명에서 출발 도시 X에서 X로 가는 최단거리는 항상 0이니 distance[x] = 0으로 초기화 해..
[백준 python] 12904번 A와 B 그리디
·
지난 글 모음
[백준 python] 12904번 A와 B 그리디 레벨: 골드 5 언어: python https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 📑풀이 과정 이번 문제는 첫째 줄인 S를 T로 만들려고 하면 많이 복잡해 진다. S -> T 예시 1번 처럼 B를 ABBA로 만들기 위해 B에서 BA가 될 수 있고 BB가 될 수 있다. 또 BA와 BB가 두가지 선택이 가능해서 4개가 된다. 1 -> 2 -> 4 로 선택 가지..
[백준 python] 1339번 단어 수학 - 그리디
·
지난 글 모음
[백준 python] 1339번 단어 수학 - 그리디 레벨: 골드 4 언어: python 문제풀러가기 📑풀이 과정 초반에 상당히 헤매다가 질문 검색에서 힌트를 얻어서 구현하였다. 처음 아이디어는 자리수가 높은 알파벳부터 낮은 알파벳 순으로 숫자를 부여했다. 이때 문제는 아래와 같은 케이스가 들어오면 A를 9로 바꾸고 B를 8로 바꿔서 오답이 난다. 10 ABB BB BB BB BB BB BB BB BB BB 이제 제대로 된 풀이를 설명하겠다. 자리수를 사용하면 되지만 단순히 순서만을 가지고는 풀 수 없다. 알파벳의 자리수 만큼 곱한 값을 기준으로 순서를 정해야 한다. 2 GCF ACDEB 위의 예시는 A 는 만자리 10000 C 는 천자리 하나와 십의 자리 하나 1000 + 10 D 는 백자리 하나 10..
[백준 python] 19941번 햄버거 분배 - 그리디
·
지난 글 모음
[백준 python] 19941번 햄버거 분배 - 그리디 레벨: 실버3 언어: python 문제풀러가기 📑풀이 과정 생각한 아이디어를 코드로 구현할 수 있다면 누구나 쉽게 풀 수 있는 문제이다. 햄버거를 먹을 수 있는 최대 사람의 수는 사람의 위치 P에서 -k ~ +k안에 햄버거가 있는지 탐색하면 된다. 그리고 찾은 햄버거 'H'를 다른 값으로 바꿔주어 다시 카운팅 하지 않게 한다. 0 1 2 3 4 -> 위치 H P P P H 이고 k = 1 일 때 처음 p에서 0 ~ 2까지 탐색하여 H(햄버거)를 다른 값(필자는 o로 바꿈)으로 바꿔서 o P P P H 가 되고 최종적으로 o P P P o가 되며 최대 인원은 1번과 3번이 햄버거를 먹어서 2명이 된다. ! 단 탐색 시 주의할 점은 테이블 배열의 시작..