분류 전체보기

회고

2024년 회고록

2024년에도 많은 일이 있었다.결과적으로 슬픈일도 많았고 힘든일도 많았지만 나름대로 좋은 결과를 얻을 수 있었던 한 해였던 것 같다. 이런 회고록들도 쌓이고 나면 나의 자산이 될 것이라고 생각하기 때문에 잘 생각하면서 작성해보려고 한다.상반기(싸피 1학기)운좋게 삼성청년SW아카데미에 추가합격하여 입과할 수 있게 되었다. 극 내향형인 필자를 생각하면 새로운 환경에서 처음하는 자취생활과 처음 보는 사람들과 1년을 함께할 수 있을지에 대한 두려움, 많은 부분에서 부족한 내가 싸피 커리큘럼을 제대로 따라갈 수 있을지에 대한 두려움이 너무 많았다...처음 한달동안은 역시나 사람들과 친해지는게 너무 힘들었다.. 먼저 다가가는건 잘 못하는 주제에 외로움은 타는편이라.. 용기내서 말도 걸어보고, 공부도 열심히 해보면..

etc/bootcamp

SSAFY 추가 합격 후기 / 11기 / (단기간)준비 과정 / 전공자

해당 포스트의 내용은 '나는 이렇게 준비했다' 정도로 참고만 해주면 좋겠습니다. (솔직히 그리 큰 도움이 될것같지는 않지만 저도 여러 블로그를 참고하며 준비했기 떄문에 후에 지원하는 사람들에게 조금이라도 도움이 됐으면 합니다^^ 추합이지만..) 싸피에 왜 지원했나? 이것저것 열심히 해본것도 같고 여기저기 해서 10군데 넘게 이력서도 제출해봤는데 반정도는 서류탈락, 나머지는 코테탈락을 했다. 서류야 여기저기 넣어본다고 그렇게 열심히 쓴것같지는 않아서 이해하겠는데 코딩테스트에서 다 떨어진 부분에서 필자는 적잖은 충격을 받게 되었다.(하도 불합을 많이 받아서 익숙해짐..) 코딩테스트 공부도 안한건 아닌데 풀어도 왜 풀렸는지 잘 모르겠고, 안풀릴땐 아예 생각도 안나거나 대충 이거쓰면 풀릴것 같은데에서 생각이 멈..

코딩테스트/백준

[백준] 1244 스위치 켜고 끄기 (java)

1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 해설 평이한 수준의 시뮬레이션, 구현 문제였다. 남자랑 여자로 스위치 변경 타입을 나눠주고 각 메소드를 분리해서 만들어줬다. 이번에는 메소드를 분리해서 만들었지만 나머지 연산을 사용한다면 굳이 change 메소드까지 만들 필요는 없었다고 생각한다. 구현 문제이니만큼 직관적인 편이었지만 추후 더욱 어려운 구현(시뮬레이션) 문제를 풀기에 앞서서 풀어보기에는 괜찮은 문제라는 생각이 들었다. 메소드를 분리해서 만들면 코드가 길어질 경우에 중복되는 코드를 줄이기 쉽..

코딩테스트/백준

[백준] 12891 DNA 비밀번호 (java)

12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net 해설 처음에는 나이브하게 모든 부분문자열로 잘라서 풀이해보려고 했지만 그렇게 하니까 시간초과가 났다. 그래서 생각해본 방식으로는 각 ACTG를 0, 1, 2, 3의 인덱스값을 표현하는 int값으로 바꿔준 다음에 그 int값을 arr 배열에 넣었다. 그리고 cur 배열에서 앞쪽 유전자(알파벳)에 해당하는 인덱스값을 낮춰주고, 뒤쪽 유전자(알파벳)에 해당하는 인덱스값을 높여주면서 한 계단씩 올라가면서 비교를 진행해서 통과하게 되었다. 예를 들어..

코딩테스트/백준

[백준] 15649 N과 M(1) (java)

15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 해설 간단하게 순열을 구현해보는 문제였다. 기본 배열인 arr에 1~N을 넣어준 다음에 순열을 통해 순서가 있게 선택을 하고 N만큼의 선택을 진행했다면, 해당 순열을 static StringBuilder sb에 넣어줌으로써 저장한 다음에 마지막에 한꺼번에 출력해줌으로써 출력시간을 최소화할 수 있도록 만들었다. 기본 순열을 구현하는 좋은 문제이므로 자주 들여다보면서 순열을 구현하는 감을 익히면 좋을 것 같다. 풀이 import java.io.BufferedRead..

코딩테스트/백준

[백준] 2023 신기한 소수 (java)

2023번: 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수 www.acmicpc.net 해설 메모장에 써보면서 실험해본 결과, 맨 앞자리엔 2, 3, 5, 7이 올 수 있고, 그 이후에는 1, 2, 3, 5, 7이 올 수 있다는 사실을 알 수 있었다. 숫자 크기상 에라스토테네스의 체를 쓰기에는 어려움이 있었고, 간단하게 제곱수까지만 반복문을 통해 소수임을 판별할 수 있게 만들었다. check에는 문자열 s와 몇째자리 수까지 받았음을 나타내는 num을 파라미터로 받아서 소수임이 판별나면 check 메소드를 재귀로 돌렸고, num이 N과 같..

코딩테스트/백준

[백준] 2839 설탕 배달 (java)

2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 해설 상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정확하게 N킬로그램을 만들 수 없다면 -1을 출력해야한다. 초기값으로 dp[3]과 dp[5]를 1로 하고, dp[n-3]+1과 dp[n-5]+1의 최솟값을 잡는 dp로 풀었다. 만약 20000보다 큰게 나오면 딱 맞게 담을 수 없다는 의미이므로 -1을 반환한다. 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStr..

코딩테스트/백준

[백준] 2961 도영이가 만든 맛있는 음식(java)

2961번: 도영이가 만든 맛있는 음식 첫째 줄에 재료의 개수 N(1 ≤ N ≤ 10)이 주어진다. 다음 N개 줄에는 그 재료의 신맛과 쓴맛이 공백으로 구분되어 주어진다. 모든 재료를 사용해서 요리를 만들었을 때, 그 요리의 신맛과 쓴맛은 www.acmicpc.net 해설 방문배열 boolean v[] 를 이용하여 방문체크를 하고, 해당 재료를 선택했을 때와 선택하지 않았을 경우의 신맛과 쓴맛의 차이를 생각해 보면서 차의 최댓값을 구할 수 있도록 하였다. 풀이(java) package com.ssafy.recursive; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import jav..

회고

2023년 회고록

2023년에는 많은 일을 했다고 생각했지만 생각대로 풀리지 않은 경우가 많았다. 한마디로 표현하자면 2023년은 실패라고 생각한다. 전반기(졸업 프로젝트) 이제 4학년이 되면서 취업에 대한 부담이 부쩍 늘어난 상황이었다. 포트폴리오? 이력서? 전혀 모르는 상황이었고, 내가 졸업할 수 있는지 없는지도 잘 몰랐다. 졸업을 위한 캡스톤 프로젝트를 친한 친구들과 빠르게 팀을 만들어 시작했다. 필자를 포함한 친구들은 모두 협업능력, 개발능력이 전혀 없는 상태였다.(그냥 학교과제, 시험만 본 전형적인 망한 케이스..) 이와 더불어 이제 어느 분야에 종사하여 개발할지에 대해 정해야 해당 언어를 집중적으로 공부할지 정할 수 있었기 때문에 여러 언어, 자격증, 분야 등에 대해 조사를 해봤고, 그 과정에서 백엔드(자바, ..

스프링/테스트

Test 코드 기초(1)

1. 왜 Test 코드를 작성하는가? 1) Test 코드를 작성하지 않고 결과를 검증하는 과정은 비용이 많이 든다. Test코드 사용 X (싱글 애플리케이션 (Monolithic Arichitecture)에서의 모습) 검증 코드 작성 애플리케이션 실행 PostMan 혹은 브라우저 Request 요청 log 혹은 print로 결과 검증 원하지 않는 결과 발생 시 애플리케이션 종료 다시 코드 작성 위와 같은 로테이션이 원하는 결과를 얻을 때까지 돌아가게 된다. 이처럼 간단한 애플리케이션이라도 실행하고 종료하는데 비용이 많이 들지만 Test 코드를 작성한다면 이야기가 달라진다. Test 코드를 사용 O Test 코드 작성 Test 코드 실행 결과 검증 Test 코드 수정 위와 같이 애플리케이션을 실행, 종료할..

넉우리
'분류 전체보기' 카테고리의 글 목록