반응형

분류 전체보기 118

42 서울 라피신(La Piscine) 후기 [3기 1차]

1. 42서울에 도전하다. 20살에 컴퓨터과학과에 입학해서, 휴학 없이 학교 졸업을 앞두고 있을 때 42서울 지원공고를 보게 되었다. 지원공고에서는 교제, 교수, 학위가 없는 교육 프로그램이며, 매 달 100만원의 지원금과 장소를 제공한다고 적혀있었다. (42서울에 관한 자세한 설명은 링크를 참고하자). 1년 휴학을 하면서 CS지식을 공부할 계획이 세웠던 나는 "바로 이거다"라는 생각이 들며 온라인테스트에 응시했다. + 지원 TIP 42서울 선발 방법은 (온라인 테스트) -> (체크인) -> (라피신) 으로 진행된다. 4기부터는 체크인 방식이 조금씩 달라지니 홈페이지를 참고하자 2. 온라인 테스트 필자는 온라인 테스트를 따로 준비하진 않았다. 기억력 테스트와 사고력 테스트로 이뤄진 시험이었는데, 코딩 부..

[백준][16197번] 두 동전 [cpp, c++]

백준 16197 두 동전 완전탐색으로 푸는 문제였고, 나는 자신있는 BFS로 풀었다. www.acmicpc.net/problem/16197 16197번: 두 동전 N×M 크기의 보드와 4개의 버튼으로 이루어진 게임이 있다. 보드는 1×1크기의 정사각형 칸으로 나누어져 있고, 각각의 칸은 비어있거나, 벽이다. 두 개의 빈 칸에는 동전이 하나씩 놓여져 있고, www.acmicpc.net 풀이 방법 1) 원래 BFS 방법으로 푸는 건 똑같지만, 벽을 만나면 원래 좌표를 가져오는 것이 중요한 문제였다. 2) 원래 좌표를 사용하기 위해 cur 라는 구조체 변수를 한 개 두고, 현재 좌표를 가져왔다. #include #include #include using namespace std; int dx[5] = {1,0..

[백준][2447번] 별 찍기 - 10 [cpp, c++]

백준 2447 장군 재귀(recursion)와 분할 정복(divide and conquer)을 이용해야 되는 문제이다. 오랜만에 문제를 풀다보니 상당히 애를 먹었던 문제였다 ㅠㅠ www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 풀이 방법 1) 3*3 가운데가 뚫린 사각형이 존재하는 사각형이 반복되는 형태이다. 2) 이 문제를 해결하기 위해, 따로 2차원 배열을 생성하여 *문자를 저장하는 방법과 바로 출력하는 방법이 존재한다고 생각했..

중국산업시찰단 - 중국 기업 방문 part1

■ 개요 👏 우리 학교는 주기적으로 중국/미국의 기업을 탐방하는 프로그램이 있다. 장학금으로 90% 금액을 지원해주기 때문에 학생들의 경쟁률이 치열한 편이다. 미국은 일정상 참가하기 힘들었기 때문에 중국기업을 방문하는 프로그램에 도전하게 되었다. 서류 - 면접 순으로 진행되는 선발과정을 뚫고 4달 간의 프로젝트를 시작했다. ■ 한국(2019/11~2019/12) ○ 팀 선정 우리가 방문할 중국 기업은 COSMAX, C-Trip, 코스맥스, Wework, FESCO Adecco , DingTalk 이였는데, 방문하기 전에 해당 기업에 대한 조사와 사업 아이템에 대한 구상이 필요했다. 학교 측에서 6명씩 6팀을 임의로 구성했기 때문에, 나는 챗봇 빌더를 개발했던 경험을 바탕으로 팀장을 자진했고, Dingta..

프로젝트 2020.09.30

[백준][16509번] 장군 [cpp, c++]

백준 16509 장군 BFS를 이용한 문제이다 www.acmicpc.net/problem/16509 16509번: 장군 오랜만에 휴가를 나온 호근이는 문득 동아리방에 있는 장기가 하고 싶어졌다. 하지만 장기를 오랫동안 하지 않은 탓인지 예전에는 잘 쓰던 상을 제대로 쓰는 것이 너무 힘들었다. 호근이를 위해 www.acmicpc.net 풀이 방법 1) BFS를 통해 이동할 수 있는 거리를 탐색한다. (대각선 방향) 2) 큐에 넣기 전에 이동 경로에 장기가 있는지 확인한다. (이동 경로에 장기가 있다면 큐에 넣지 않는다) #include #include #include #include using namespace std; int dx[10] = {-3,-3,-2, 2, 3, 3, 2, -2}; int dy[..

[백준][2638번] 치즈 [cpp, c++]

백준 2638 치즈 BFS를 이용한 문제이다. https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5≤N, M≤100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 표 www.acmicpc.net 풀이 방법 1) 외부 공기와 내부 공기를 분리한다. (BFS 사용) - 함수명 outsideBFS() - 문제 조건에 맨 가장자리는 치즈가 놓이지 않는다고 했으니, 0,0을 큐에 넣어서 외부 공기를 체크한다. - 여기에 체크되지 않은 공간은 외부 공기가 아니다. 2) BFS를 통해 녹을 수 있는 치즈를 체크한다. - 함수명 : BFS => m..

로그 분석 개발 - 이노베이션 아카데미 인턴십

1. 들어가며🤗 안녕하세요. 이노베이션 아카데미 인턴 장준영입니다. 제가 두 달 동안 맡은 프로젝트는 로그 분석기였습니다. 맡은 프로젝트에 관련된 내용과 로그에 대해 공부한 내용을 카뎃, 피시너, 이노베이션 아카데미의 관계자 분들께 공유하고 싶어 글을 작성합니다. (글에 내용의 오류가 있거나 틀린 부분이 있다면 언제든지 지적해주세요 !) 2. 로그란?✍️ 저는 얼마 전까지만해도 로그의 중요성에 대해 알지 못했습니다. 하지만 로그에 대해 알아가면 알아갈수록 이 녀석이 정말 중요하다는 것을 느끼게 되었습니다. 혼자만 중요한 사실을 느낄 수 없으니, 여러분도 한번 아래의 질문에 대해 생각해보면서 로그에 대한 중요성을 같이 느껴봅시다 ! Q1. 게임에서 수백 수천만의 아이템이 복사되어서 여러 유저들에게 들어갔다..

프로젝트 2020.08.27

[백준][1600번] 말이 되고픈 원숭이 [cpp, c++]

백준 1600 말이 되고픈 원숭이 BFS를 이용한 문제이다. 말이 이동하는 경우, 원숭이가 이동하는 경우를 모두 계산해서 풀면 된다. https://www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있는 곳으로는 이동할 수 없다. 시작점과 도착점은 항상 평지이다. W와 H는 1이상 200이하의 자연수이고, K는 0이상 30이하의 정수이다. www.acmicpc.net 풀이 방법 1) 3차원 배열을 이용해서, 말처럼 이동하는 경우를 고려해야한다. 2) 말 처럼 이동하는 경우만 ..

[백준][1629번] 곱셈[cpp, c++]

백준 1629 곱셈 재귀로 풀어야 풀 수 있는 문제이다. 재귀에 약한 나는 고생을 많이 했다 ㅠ https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net 풀이 방법 1) 이 문제의 시간제한은 2초이다. 1초에 3~5억 번의 연산을 한다고 가정하면, 2초는 10억 번 안에 연산을 끝내야 한다. 2) 최악의 경우 O(n)이라면, 문제의 주어진 수가 최대 21억이기 때문에 시간 초과가 뜨게 된다. 3) 즉, O(n) 보다 낮은 알고리즘을 이용해한다. 4) b를 짝수 일 때, 홀수 일 때를 나눠서 생각해본다. 2^10이면 b..

[백준][2644번] 촌수계산[cpp, c++]

백준 2644 촌수계산 완전 탐색 문제이다. https://www.acmicpc.net/problem/2644 문제풀이 1) 주어지는 좌표(촌수)에 대한 그래프를 생성한 후, 시작 좌표(촌수) 끝 좌표(촌수)의 거리를 구하면 되는 문제이기 BFS, DFS 둘 중 하나를 쓰면된다. 2) 나는 BFS가 더 편하기에 BFS를 사용했다.. #include #include #include #include #include using namespace std; int a[102][102]; queue q; int check[102]; int n, s, e, m, x, y; void input_data() { cin >> n >> s >> e >> m; for (int i = 0; i >..

반응형