분류 전체보기
-
2023 Serieses [ 2023 ] CheckPoint, 2023년 2023년동안 작성했던 회고록들을 모아 둔 게시글이다 2023년 동안 작성한 회고들을 계속해서 업데이트 해 나갈 예정이다 [ January ] - 변화의 시작, 1월 [2022WinterBootcamp] 0~1주차 회고 개발자가 되기로 time-map-installer.tistory.com 본문 드디어 1차 시험이 종료되었다! 비록 3주라는 길지 않은 시간이었지만 그동안 준비 해 왔던 것이 있기에 많은 긴장감을 가지고 시험에 임했던 것 같다 독립된 공간에서 철저한 모니터링 시스템을 통해 시험을 보았고, 그래서인지 평소보다 더 집중이 잘 되었던 것 같다 시험 시간은 2시간이었지만 서버 오류로 인해 45분이 추가되었었다 시험문제는 총 ..
[ Challenge to SW Maestro ] 3주차 회고 Final?2023 Serieses [ 2023 ] CheckPoint, 2023년 2023년동안 작성했던 회고록들을 모아 둔 게시글이다 2023년 동안 작성한 회고들을 계속해서 업데이트 해 나갈 예정이다 [ January ] - 변화의 시작, 1월 [2022WinterBootcamp] 0~1주차 회고 개발자가 되기로 time-map-installer.tistory.com 본문 드디어 1차 시험이 종료되었다! 비록 3주라는 길지 않은 시간이었지만 그동안 준비 해 왔던 것이 있기에 많은 긴장감을 가지고 시험에 임했던 것 같다 독립된 공간에서 철저한 모니터링 시스템을 통해 시험을 보았고, 그래서인지 평소보다 더 집중이 잘 되었던 것 같다 시험 시간은 2시간이었지만 서버 오류로 인해 45분이 추가되었었다 시험문제는 총 ..
2023.02.25 -
2023 Serieses [ 2023 ] CheckPoint, 2023년 2023년동안 작성했던 회고록들을 모아 둔 게시글이다 2023년 동안 작성한 회고들을 계속해서 업데이트 해 나갈 예정이다 [ January ] - 변화의 시작, 1월 [2022WinterBootcamp] 0~1주차 회고 개발자가 되기로 time-map-installer.tistory.com 본문 이번 주는 이번 주를 보내 온 나에게 하는 셀프 피드백과 나에 대한 연구 결과를 적는 날이다 코딩테스트 약 100문제 풀기가 목표였지만 목표를 설정 한 직후 한 두어 문제를 풀고나니 떠오른 생각이 있었다 '이대로 가다가는 큰일나겠구나' 였다 분명 문제를 많이 푸는 것은 좋지만, 관련 알고리즘에 대해 모르니 답안을 참고하는 빈도가 점차 늘어갔..
[ Challenge to SW Maestro ] 2주차 회고2023 Serieses [ 2023 ] CheckPoint, 2023년 2023년동안 작성했던 회고록들을 모아 둔 게시글이다 2023년 동안 작성한 회고들을 계속해서 업데이트 해 나갈 예정이다 [ January ] - 변화의 시작, 1월 [2022WinterBootcamp] 0~1주차 회고 개발자가 되기로 time-map-installer.tistory.com 본문 이번 주는 이번 주를 보내 온 나에게 하는 셀프 피드백과 나에 대한 연구 결과를 적는 날이다 코딩테스트 약 100문제 풀기가 목표였지만 목표를 설정 한 직후 한 두어 문제를 풀고나니 떠오른 생각이 있었다 '이대로 가다가는 큰일나겠구나' 였다 분명 문제를 많이 푸는 것은 좋지만, 관련 알고리즘에 대해 모르니 답안을 참고하는 빈도가 점차 늘어갔..
2023.02.17 -
DFS 문제를 통해 여러 시행착오를 거칠 필요가 있다고 생각했던 나는 한 문제를 더 찾아서 풀기 시작했고, 재귀 함수를 이용했기에 발생했던 런타임 에러가 발생했다 해결법도 찾았고, 그 방법까지 해서 이번 글에 포스팅하려고 한다 문제 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 문제 분석 이 문제는 DFS를 이용하여 블록단위 탐색을 이용하면 되지만 몇 가지 유의사항이 존재한다 그래프 형태로 존재하는 것이 아닌 좌표단위로 존재하는 것 -> 가상의 그래프 맵을 만든다 배추밭이 굉장히 넓어졌을 때 재귀를 이용할 경우 깊이의 ..
BaekJoon - 1012번: 유기농 배추 (그래프, 탐색)DFS 문제를 통해 여러 시행착오를 거칠 필요가 있다고 생각했던 나는 한 문제를 더 찾아서 풀기 시작했고, 재귀 함수를 이용했기에 발생했던 런타임 에러가 발생했다 해결법도 찾았고, 그 방법까지 해서 이번 글에 포스팅하려고 한다 문제 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 문제 분석 이 문제는 DFS를 이용하여 블록단위 탐색을 이용하면 되지만 몇 가지 유의사항이 존재한다 그래프 형태로 존재하는 것이 아닌 좌표단위로 존재하는 것 -> 가상의 그래프 맵을 만든다 배추밭이 굉장히 넓어졌을 때 재귀를 이용할 경우 깊이의 ..
2023.02.15 -
SM 마에스트로 준비가 한창인 와중, DFS에 대해 자신감이 생겼다 싶어서 도전 해 본 문제이다 한 번에 맞춰 기분이 좋은 문제였다 문제 문제 분석 이 문제는 DFS를 이용해서 풀 수 있다. 재귀적인 방법을 통해 하나를 발견하면 상, 하, 좌, 우로 이동하며 재탐색을 하는 과정을 거친다 그리고 DFS 한 번 실행될 때마다 단지 하나가 1 -> 0으로 바뀌므로 그 타이밍에 count + 1 하는 방법을 생각했다 후에 한 DFS 사이클이 끝날 때마다 count를 초기화시키는 방법으로 단지 별 건물 수를 세었다 코드 작성 N = int(input()) house = [] for i in range(N): house.append(list(map(int, input()))) # 단지의 건물 개수를 담을 변수 co..
BaekJoon - 2667번: 단지번호붙이기 (그래프, 탐색)SM 마에스트로 준비가 한창인 와중, DFS에 대해 자신감이 생겼다 싶어서 도전 해 본 문제이다 한 번에 맞춰 기분이 좋은 문제였다 문제 문제 분석 이 문제는 DFS를 이용해서 풀 수 있다. 재귀적인 방법을 통해 하나를 발견하면 상, 하, 좌, 우로 이동하며 재탐색을 하는 과정을 거친다 그리고 DFS 한 번 실행될 때마다 단지 하나가 1 -> 0으로 바뀌므로 그 타이밍에 count + 1 하는 방법을 생각했다 후에 한 DFS 사이클이 끝날 때마다 count를 초기화시키는 방법으로 단지 별 건물 수를 세었다 코드 작성 N = int(input()) house = [] for i in range(N): house.append(list(map(int, input()))) # 단지의 건물 개수를 담을 변수 co..
2023.02.15 -
문제 코드 설계 유의사항 1. 첫 글자를 담고, 이를 세는 변수 추가, 다음 글자가 같다면 새로 담지 않고 세는 변수를 1 증가 2. 첫 글자와 다른 글자가 나온 횟수 변수 추가, 첫 글자 count 변수과 값이 같아지면 첫 번째 문자 값을 옮긴 후 분리하기 3. 분리 할 때마다 이를 세는 변수를 증가시키고, 분해하지 못하면 종료하기 코드 # 풀이 추가 def solution(s): # count 할 배열 미리 생성, 처음에는 첫 번째 글자 저장 # 두 번째와 세 번째에는 각각 s[0]과 동일하고, 다른 문자를 세는 자리이다 answer = 0 count = [s[0], 0, 0] # count에 저장된 변수들의 조건에 맞게 작성하고 문제에 나온 조건에 따라 마지막에 한 번 더 분리한다 for i in ..
[프로그래머스] 문자열 나누기문제 코드 설계 유의사항 1. 첫 글자를 담고, 이를 세는 변수 추가, 다음 글자가 같다면 새로 담지 않고 세는 변수를 1 증가 2. 첫 글자와 다른 글자가 나온 횟수 변수 추가, 첫 글자 count 변수과 값이 같아지면 첫 번째 문자 값을 옮긴 후 분리하기 3. 분리 할 때마다 이를 세는 변수를 증가시키고, 분해하지 못하면 종료하기 코드 # 풀이 추가 def solution(s): # count 할 배열 미리 생성, 처음에는 첫 번째 글자 저장 # 두 번째와 세 번째에는 각각 s[0]과 동일하고, 다른 문자를 세는 자리이다 answer = 0 count = [s[0], 0, 0] # count에 저장된 변수들의 조건에 맞게 작성하고 문제에 나온 조건에 따라 마지막에 한 번 더 분리한다 for i in ..
2023.02.12 -
문제 카카오 아이디 규칙에 맞게 추천 1. 아이디의 길이는 3자 이상 15자 이하 2. 아이디는 알파벳 소문자, 숫자, 빼기( - ), 언더바( _ ), 마침표( . )만 사용가능 3. 마침표( . )는 처음과 끝에 사용하지 못하며 연속으로 사용 불가능하다 신규 유저가 입력한 new_id가 규칙에 맞지 않다면 아래와 같이 추천 1. new_id의 모든 대문자를 소문자로 치환 2. new_id에서 알파벳 소문자, 숫자, 빼기( - ), 밑줄( _ ), 마침표( . )를 제외한 모든 문자 제거 3. new_id에서 마침표( . )가 두 번 이상 연속 된 부분을 하나의 마침표( . )로 치환 4. new_id에서 마침표( . )가 처음이나 끝에 위치한다면 제거 5. new_id가 빈 문자열이라면 new_id에..
[프로그래머스] 2021 KAKAO BLIND RECRUITMENT - 신규 아이디 추천문제 카카오 아이디 규칙에 맞게 추천 1. 아이디의 길이는 3자 이상 15자 이하 2. 아이디는 알파벳 소문자, 숫자, 빼기( - ), 언더바( _ ), 마침표( . )만 사용가능 3. 마침표( . )는 처음과 끝에 사용하지 못하며 연속으로 사용 불가능하다 신규 유저가 입력한 new_id가 규칙에 맞지 않다면 아래와 같이 추천 1. new_id의 모든 대문자를 소문자로 치환 2. new_id에서 알파벳 소문자, 숫자, 빼기( - ), 밑줄( _ ), 마침표( . )를 제외한 모든 문자 제거 3. new_id에서 마침표( . )가 두 번 이상 연속 된 부분을 하나의 마침표( . )로 치환 4. new_id에서 마침표( . )가 처음이나 끝에 위치한다면 제거 5. new_id가 빈 문자열이라면 new_id에..
2023.02.12 -
문제를 제대로 파악한 후 시나리오를 미리 따로 적어두고 코드를 작성하면 크게 어렵지 않게 풀 수 있는 문제인 것 같다 문제 화면의 구성, 규칙을 다음과 같이 설정 할 예정이다 1. 게임 화면은 N x N 크기의 격자이다 2. 위쪽에는 크레인이 있고, 오른쪽에는 바구니가 있다 3. 각 격자마다 다른 속성의 인형이 있고, 인형이 없는 칸은 공백이다 4. 각 인형들은 아래에서부터 차곡차곡 쌓여있다 5. 크레인을 멈춘 위치에서 인형을 들어올릴 수 있다 6. 집어올린 인형이 바구니에 들어가면 아래에서 부터 쌓인다 7. 바구니에 같은 속성의 두 개의 인형이 두 개 붙으면 사라진다 8. 바구니는 모든 인형이 들어갈 정도로 크다 무엇을 확인해야할까? 1. board 배열은 N x N 형태로 ( 5
[프로그래머스] 2019 카카오 개발자 겨울 인턴십 - 크레인 인형뽑기 게임문제를 제대로 파악한 후 시나리오를 미리 따로 적어두고 코드를 작성하면 크게 어렵지 않게 풀 수 있는 문제인 것 같다 문제 화면의 구성, 규칙을 다음과 같이 설정 할 예정이다 1. 게임 화면은 N x N 크기의 격자이다 2. 위쪽에는 크레인이 있고, 오른쪽에는 바구니가 있다 3. 각 격자마다 다른 속성의 인형이 있고, 인형이 없는 칸은 공백이다 4. 각 인형들은 아래에서부터 차곡차곡 쌓여있다 5. 크레인을 멈춘 위치에서 인형을 들어올릴 수 있다 6. 집어올린 인형이 바구니에 들어가면 아래에서 부터 쌓인다 7. 바구니에 같은 속성의 두 개의 인형이 두 개 붙으면 사라진다 8. 바구니는 모든 인형이 들어갈 정도로 크다 무엇을 확인해야할까? 1. board 배열은 N x N 형태로 ( 5
2023.02.12 -
키패드를 누르는 카카오 인턴십 문제이다. 방법을 알면 쉽게 해결이 가능하지만 제한사항을 놓칠 경우 해결하기 힘들다는 특징이 있다 문제 1. 키패드에서 왼손과 오른손 엄지손가락만을 이용해서 숫자만 입력하려고 한다 2. 왼엄지와 오른엄지는 각각 '*', '#'에 초기 위치를 잡는다 3. [1, 4, 7]은 왼손 엄지로만 누르고, [3, 6, 9]는 오른 엄지로만 누른다 4. [2, 5, 8, 0]은 둘 다 누를 수 있고, 보통은 더 가까운 쪽의 엄지를 이용해서 누른다 5. 숫자와 두 손가락 간의 거리가 같을 경우에는 hand에 적힌 주 사용 손으로 누른다 (왼손잡이, 오른손잡이) 6. 누른 손을 L 또는 R을 이용해서 나타내고 연속적인 문자열로 return하는 문제이다 무엇을 확인해야할까? 1. 키패드 각각..
[프로그래머스] 2020 카카오 인턴십 - 키패드 누르기키패드를 누르는 카카오 인턴십 문제이다. 방법을 알면 쉽게 해결이 가능하지만 제한사항을 놓칠 경우 해결하기 힘들다는 특징이 있다 문제 1. 키패드에서 왼손과 오른손 엄지손가락만을 이용해서 숫자만 입력하려고 한다 2. 왼엄지와 오른엄지는 각각 '*', '#'에 초기 위치를 잡는다 3. [1, 4, 7]은 왼손 엄지로만 누르고, [3, 6, 9]는 오른 엄지로만 누른다 4. [2, 5, 8, 0]은 둘 다 누를 수 있고, 보통은 더 가까운 쪽의 엄지를 이용해서 누른다 5. 숫자와 두 손가락 간의 거리가 같을 경우에는 hand에 적힌 주 사용 손으로 누른다 (왼손잡이, 오른손잡이) 6. 누른 손을 L 또는 R을 이용해서 나타내고 연속적인 문자열로 return하는 문제이다 무엇을 확인해야할까? 1. 키패드 각각..
2023.02.12 -
분명 모든 테스트 케이스는 다 제대로 된 답변이 뜨는데 왜 이 문제는 정답이 아니라고 할까? 라고 생각을 했었다 하지만 이는 문제를 또다시 제대로 읽지 못 한 나의 잘못으로 인해 쌩 고생을 하게 되었고, 결국 생각지도 못한 곳에서 해결방법을 찾아내었다 문제 6550번: 부분 문자열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다. www.acmicpc.net 문제 발생 지점 여기서 나는 모든 케이스에 대한 알고리즘을 잘 풀었었다 하지만 '입력은 여러 개의 테스트 케이스로 이루어져 있다'에 대한 부분을 간과하였고, 이 부분을 해결하자 문제가 해결되었다 코드 작성 # 풀이..
BaekJoon - 6550번: 부분 문자열 (문자열, 그리디 알고리즘)분명 모든 테스트 케이스는 다 제대로 된 답변이 뜨는데 왜 이 문제는 정답이 아니라고 할까? 라고 생각을 했었다 하지만 이는 문제를 또다시 제대로 읽지 못 한 나의 잘못으로 인해 쌩 고생을 하게 되었고, 결국 생각지도 못한 곳에서 해결방법을 찾아내었다 문제 6550번: 부분 문자열 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문자열 s 와 t가 빈칸을 사이에 두고 들어온다. s와 t의 길이는 10만을 넘지 않는다. www.acmicpc.net 문제 발생 지점 여기서 나는 모든 케이스에 대한 알고리즘을 잘 풀었었다 하지만 '입력은 여러 개의 테스트 케이스로 이루어져 있다'에 대한 부분을 간과하였고, 이 부분을 해결하자 문제가 해결되었다 코드 작성 # 풀이..
2023.02.12 -
SW 마에스트로 1차코테 문제집의 두 개 있는 암호 해독 문제 중 첫 번째이다 1차코테인데 어렵겠어? 하고 들어갔다가 1시간을 붙잡고 있는 대참사가 벌어졌었다 문제 14584번: 암호 해독 로마의 장군 카이사르는 로마군의 작전을 적이 모르게 하기 위하여 암호를 사용했다. 카이사르는 다음과 같이 문장에 있는 모든 알파벳 글자를 몇 칸 뒤의 알파벳으로 바꾸는 방식으로 암호를 www.acmicpc.net 문제해석 문제 잘 읽어보기 문제 초반에 나와있는 17칸 뒤를 믿지 말 것 당신은 카이사르가 어떤 방법으로 문장을 암호화하는지는 알고 있지만 카이사르가 몇 칸 뒤의 알파벳으로 바꾸는지는 모른다. -> 결론은 알파벳을 하나씩 뒤로 밀어보면서 대조 해보아야 한다 N개의 사전 단어 중 하나라도 들어가 있다면 조건 충..
BaekJoon - 14584번: 암호 해독 (문자열, 브루트포스 알고리즘)SW 마에스트로 1차코테 문제집의 두 개 있는 암호 해독 문제 중 첫 번째이다 1차코테인데 어렵겠어? 하고 들어갔다가 1시간을 붙잡고 있는 대참사가 벌어졌었다 문제 14584번: 암호 해독 로마의 장군 카이사르는 로마군의 작전을 적이 모르게 하기 위하여 암호를 사용했다. 카이사르는 다음과 같이 문장에 있는 모든 알파벳 글자를 몇 칸 뒤의 알파벳으로 바꾸는 방식으로 암호를 www.acmicpc.net 문제해석 문제 잘 읽어보기 문제 초반에 나와있는 17칸 뒤를 믿지 말 것 당신은 카이사르가 어떤 방법으로 문장을 암호화하는지는 알고 있지만 카이사르가 몇 칸 뒤의 알파벳으로 바꾸는지는 모른다. -> 결론은 알파벳을 하나씩 뒤로 밀어보면서 대조 해보아야 한다 N개의 사전 단어 중 하나라도 들어가 있다면 조건 충..
2023.02.11 -
2023 Serieses [ 2023 ] CheckPoint, 2023년 2023년동안 작성했던 회고록들을 모아 둔 게시글이다 2023년 동안 작성한 회고들을 계속해서 업데이트 해 나갈 예정이다 [ January ] - 변화의 시작, 1월 [2022WinterBootcamp] 0~1주차 회고 개발자가 되기로 time-map-installer.tistory.com 본문 2022년에 시작해서 2023년까지 진행했던 부트캠프가 끝이 났다. 하지만 그 후 한동안은 여유로울 것으로 예상했지만 어림도 없지 스스로에게 거는 새로운 챌린지가 생겼다 바로 SW 마에스트로이다 뒤늦게 SW 마에스트로에 대해 접하였고, 알았기에 빠른 속도로 마에스트로 지원서를 작성하기 시작했다 그동안 자기소개서도 많이 써 보았고 했으니 쓰는..
[ Challenge to SW Maestro ] 1주차 회고2023 Serieses [ 2023 ] CheckPoint, 2023년 2023년동안 작성했던 회고록들을 모아 둔 게시글이다 2023년 동안 작성한 회고들을 계속해서 업데이트 해 나갈 예정이다 [ January ] - 변화의 시작, 1월 [2022WinterBootcamp] 0~1주차 회고 개발자가 되기로 time-map-installer.tistory.com 본문 2022년에 시작해서 2023년까지 진행했던 부트캠프가 끝이 났다. 하지만 그 후 한동안은 여유로울 것으로 예상했지만 어림도 없지 스스로에게 거는 새로운 챌린지가 생겼다 바로 SW 마에스트로이다 뒤늦게 SW 마에스트로에 대해 접하였고, 알았기에 빠른 속도로 마에스트로 지원서를 작성하기 시작했다 그동안 자기소개서도 많이 써 보았고 했으니 쓰는..
2023.02.10 -
2023년 동안 작성했던 의미있다고 생각하는 포스팅들을 모아 둔 게시글입니다 이 글은 2023년이 끝날 때까지 계속해서 업데이트 해 나갈 예정입니다 [ January ] - 변화의 시작, 1월 더보기 [2022WinterBootcamp] 0~1주차 회고 개발자가 되기로 진로를 굳히고 나서 가장 처음으로 하는 팀 단위 단기간 고성장 프로젝트가 아닐까 싶다 기존에 예상되던 참가자보다 2배 정도 많았기에 원래 진행하기로 했던 방식에서 추가 time-map-installer.tistory.com [2022WinterBootcamp] 2주차 회고 본문 아이디어 회의가 모두 끝이 났다 괜찮은 아이디어를 찾기 위해 3번에 걸쳐 아이디어를 내고 디자인하고 새로시작하고를 반복하였고, 드디어 괜찮은 아이디어를 결정할 수 ..
[ 2023 ] CheckPoint, 2023년2023년 동안 작성했던 의미있다고 생각하는 포스팅들을 모아 둔 게시글입니다 이 글은 2023년이 끝날 때까지 계속해서 업데이트 해 나갈 예정입니다 [ January ] - 변화의 시작, 1월 더보기 [2022WinterBootcamp] 0~1주차 회고 개발자가 되기로 진로를 굳히고 나서 가장 처음으로 하는 팀 단위 단기간 고성장 프로젝트가 아닐까 싶다 기존에 예상되던 참가자보다 2배 정도 많았기에 원래 진행하기로 했던 방식에서 추가 time-map-installer.tistory.com [2022WinterBootcamp] 2주차 회고 본문 아이디어 회의가 모두 끝이 났다 괜찮은 아이디어를 찾기 위해 3번에 걸쳐 아이디어를 내고 디자인하고 새로시작하고를 반복하였고, 드디어 괜찮은 아이디어를 결정할 수 ..
2023.02.05