본문 바로가기

전체 글

(145)
[algo-with-me] 프로젝트 규칙 설정, 주간 백로그 작성 (5) 원래 목표는 2주차에 1주차 글을 쓰고, 3주차에 2주차 글을 쓰고.. 하는 것을 목표로 했는데 정신없이 보내다보니 어느새 프로젝트가 끝나버렸어요! 그래도 이제는 시간이 많아져서 차근차근 복기하면서 글을 써보려고 합니다. 근데 기억이 잘 안나네요..? 내가.... 뭘 했더라???? 이번 포스트에서는 프로젝트 규칙 설정과 본격 개발에 앞서 주간 백로그를 작성한 내용을 담았습니다. 프론트 - 무지, 콘, 네오 백 - 저(제이지), 프로도 혼자 개발할거면 룰이고 뭐고 그냥 내 생각대로 짜도 크게 상관없지만, 협업을 하기 위해서는 공통으로 지켜야하는 룰이 필요합니다. 우리 코드 사피엔스 팀이 공통으로 설정한 규칙들을 알려드릴게요! 그라운드 룰 그라운드 룰을 말 그대로 모두가 지켜야 할 가장 기본이 되는 규칙입니..
[C++] 문자열 복사 (2195번) https://www.acmicpc.net/problem/2195 2195번: 문자열 복사 첫째 줄에 S, 둘째 줄에 P가 주어진다. S와 P는 영어 대소문자와 숫자로만 되어 있다. S의 길이는 1,000을 넘지 않으며, P의 길이는 1,000을 넘지 않는다. copy함수만을 이용하여 S에서 P를 만들어낼 수 www.acmicpc.net 문제풀이 처음에 그냥 문자열 무지성으로 비교하면 되려나? 시간 초과나지 않을까? 어떻게 푸는거야. 라는 생각을 하다가 결국 다른 사람이 어떻게 풀었나 살짝 봤다. 그런데 진짜 그냥 하나하나 비교하더라. 왜 다 비교하는데 시간초과가 안날까? 일단 풀이 방법을 먼저 보자. bdx 라는 변수를 지정하고, 이 bdx가 p의 길이보다 작을 때 까지 while문을 돌린다. 이 wh..
2023년 카카오 채용 연계형 겨울 인턴십 server 코딩테스트 후기 총 5문제를 5시간 동안 풀 수 있다. 보통의 코딩테스트 시험과 다르게 화면 공유, 카메라 공유 같은 감독을 하지 않는다. 또 테스트 케이스도 모두 주어져서 틀렸는지 맞았는지 바로 확인이 가능하다. 시험 방식은 너무 좋았다, 중간에 화장실도 마음대로 갈 수 있고, 테스트 케이스 맞는거 보고 제출하고 틀렸을까봐 조마조마 하지 않아도 된다. 모든 채점 결과를 볼 수 있기 때문이다. 그래서 문제가 어렵다. 1번 문제는그냥 구현문제였다. 조건에 따라서 잘 처리해주면 끝나는 문제였다. 2번 문제는 그래프 문제였다. 이것도 그래프의 특성에 대해 이해하고 있다면 충분히 풀 수 있는 문제였다. 3번 문제는, 경우의 수가 많아서 완전탐색으로 풀릴까? 걱정하면 풀었는데 풀렸다. 풀고난 이후 다른분들에게 들어보니 dp방식으..
[C++] 체인 (2785번) https://www.acmicpc.net/problem/2785 2785번: 체인 희원이는 그의 다락방에서 N개의 체인을 찾았다. 각각의 체인은 몇 개의 고리로 연결되어 있는데, 각각의 고리는 최대 두 개의 인접한 고리를 가질 수 있다. 각각의 고리는 열고 닫을 수 있다. 그 www.acmicpc.net 문제풀이 그리디 쉽지않다. 코드는 정말 간단한데 구현 과정을 생각하는게 어렵다. 고려해야 할 점은, 1 1 1같이 주어 졌을 때 하나의 고리만 열면 모든 체인이 연결된다는 점이다. 즉 체인의 고리를 모두 소모하는 경우 연결해야 할 체인이 하나 줄어든다는 점이 핵심이다. 받은 입력을 정렬해서, 가장 짧은 체인의 고리를 하나씩 떼서 가장 긴 두 체인을 연결하는데 사용하는 방법을 생각했다. 만약 가장 짧은 ..
[C++] Yonsei TOTO (12018번) https://www.acmicpc.net/problem/12018 12018번: Yonsei TOTO 연세대학교 수강신청이 얼마 전부터 바뀌어, 마일리지 제도로 바뀌었다. 이 제도는 각각의 학생들에게 마일리지를 주어 듣고 싶은 과목에 마일리지를 과목당 1~36을 분배한다. 그리고 모두 분배 www.acmicpc.net 문제풀이 각 과목에 최소한의 마일리지를 이용해서 최대한의 과목을 수강하는 것이 목적이다. 주의할 조건 몇가지를 알아보자, 마일리지는 한 과목에 1~36점을 넣을 수 있다. 0점 못넣는다. 점수가 같으면 성준이가 먼저 수강한다. 풀이 과정은 아래와 같다. 1. 과목별 수강신청을 위한 최소 마일리지를 저장할 배열을 만든다. 2. 각 과목별 최소 마일리지를 구하는데 만약 지원자보다 수강가능 인..
[algo-with-me] 개발 환경 준비! (4) 지금 3주차 시작하는 시기인데 벌써, 지난주에 했던 일들이 가물가물 해지기 시작했네요. 기억력 실화야? 열심히 되새기면서 2주차 개발 시작전 준비했던 것들에 대해 이야기 해볼게요. 이번 포스트에서는 본격적인 개발에 앞서 개발 환경 세팅에 대한 내용을 담았습니다. 프론트 - 무지, 콘, 네오 백 - 저(제이지), 프로도 API 서버, 채점 서버 구축 API 서버와 채점 서버는 동일하게 nestJs를 사용하기로 정했습니다! 크게 두 가지 정도의 이유가 존재합니다. 1. redis message queue를 추상화한 패키지인 bull을 공식적으로 지원해 주기 때문에 사용이 매우 편리하다.(https://docs.nestjs.com/techniques/queues) 2. nest가 express에 비해 다운 받..
[JavaScript] 귤 고르기 (프로그래머스 LEVEL 2) https://school.programmers.co.kr/learn/courses/30/lessons/138476?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 쏘카 코테 보려고 JS로 풀어봤다. 좀 편한데? object에 귤 크기를 key, 귤 개수를 value로 해서 크기별 개수를 구한다. 크기만 빼서 배열로 만들고, 크기 순으로 내림차순을 한다. 반복문 돌면서 k에서 해당하는 값을 빼준다. 그리고 정답을 1 증가시킨다. k가 0보다나 작거나 같아지면 반복을 멈춘다. 이렇게 하면 크기가 서로다른 종류의 수..
[C++] 동전 (9084번) https://www.acmicpc.net/problem/9084 9084번: 동전 우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는 www.acmicpc.net 문제풀이 역시 dp문제.. 풀때마다 새롭고 풀때마다 머리아프다. 나만의 방법을 좀 터득했다면, 일단 이차원 배열로 만들어 생각해 보는것이다. 처음 예제를 예로 들어보자. 1, 2 원짜리 동전이 있다. 행을 동전, 열을 총 금액이라고 보고 표를 보자. 주의할점이 하나 있는데, 동전 1 2 와 2 1은 하나로 취급해야 한다. 1 2 3 4 5 6 7 8 9 1 1 1 1 2 1 2 3..