
이번에도 문제를 받는 순간은 엄청 설렜다. 문제를 읽었을 때는 생각보다 난이도가 낮은 문제라고 생각해서 문제를 잘 풀 수 있을 것 같고 금방 끝낼 수 있을 것 같았다. 하지만, 요구사항을 만족하며 코딩을 하다보니 생각보다 일주일이라는 시간이 길지 않았던 것 같다. 일주일 동안 이 과제에 대해 몰입해서 공부하면서 성취감도 같이 느꼈던 것 같다. 어쩌면 우테코에서 원하는 '스스로 성장하는 모습'이라는 것이 이런 모습 아닐까?라는 생각도 하게되었다. 드디어 3주차..! 이번 3주차는 '로또' 였다. 3주차에서는 2가지 목표가 추가되었는데, 클래스를 분리하는 연습과, 도메인 로직에 대한 단위 테스트를 작성하는 연습이 추가되었다. 추가로, 프리코스를 하는 내내 했던 고민이지만, 적절한 네이밍과 함수 분리에 대해서..

이 글은 '테스트 주도 개발 : By Example' 책 내용을 정리한 것입니다. https://product.kyobobook.co.kr/detail/S000001032985 테스트 주도 개발 | 켄트 벡 - 교보문고 테스트 주도 개발 | 테스트 주도 개발은 테스트가 개발을 주도하는 방법이다. 테스트가 개발을 주도한다는 것은 테스트가 코딩의 방향을 이끌어 간다는 말이다. 테스트를 실패하는 코드가 없으 product.kyobobook.co.kr 테스트 주도 개발은 자동화된 테스트로 개발을 이끌어가는 방식이다. 테스트 주도 개발에서는 다음의 두 가지 단순한 규칙만을 따른다. 어떤 코드건 작성하기 전에 실패하는 자동화된 테스를 작성하고, 오직 자동화된 테스트가 실패할 경우에만 새로운 코드를 작성한다. 중복을..

드디어 2주차 시작..! 2주차 부터는 이전의 프리코스와 동일하게 '숫자야구'였다. 기능적으로 보면 어렵지 않은 프로젝트이지만, 우테코에서 원하는 건 클린코드에 대해 고민하고 연습하며 성장하는 것이다. 코수타 시간에서 코치님 중 한분이 이런 말씀을 하셨다. "2주차 미션부터는 함수나 메서드들을 역할에 따라서 분리하는 연습과, 테스트 도구를 연습하는 시간이 되었으면 좋겠어요. 우테코에서는 테스트를 중요시 하고 있어요. 단순히 정상 동작하는 지 테스트 하는 것이 아니라 테스트 주도 개발(TDD) 이 주는 이점에 대해 공부하고 생각해 보시면 좋을 듯합니다." 이말을 일주일 내내 계속 되새기며 과제를 해결해나갔던 것 같다. 과제를 진행하며 제일 고민을 많이하고, 어려웠던 부분은 프로젝트 구조와 테스트 코드였다...
들어가면서.. 우테코 프리코스를 하면서 코치님 중 한 분이 이런 말씀을 하셨다. "2주차 미션부터는 함수나 메서드들을 역할에 따라서 분리하는 연습과, 테스트 도구를 연습하는 시간이 되었으면 좋겠어요. 우테코에서는 테스트를 중요시 하고 있어요. 단순히 정상 동작하는 지 테스트 하는 것이 아니라 테스트 주도 개발(TDD) 이 주는 이점에 대해 공부하고 생각해 보시면 좋을 듯합니다." 이 말을 듣고 테스트 주도 개발이라는 말이 나에게는 크게 와닿지 않고, 붕 떠있는 느낌이라 이 책. "테스트 주도 개발"이라는 책을 읽어보며 테스트 주도 개발이란 무엇이고, 어떻게 해야하는지 알아가고자 한다. 저자의 글이 너무 인상깊어 기록하고 싶은 부분이 있어서 저자의 글부터 정리해보려고 한다. 저자의 글 테스트 주도 개발의 ..

첫주차 문제는 알고리즘 문제의 형태의 과제가 나왔다. 이번 5기부터 코딩테스트가 없어졌는데, 이를 프리코스의 형태로 대신하는 것이라 생각되었다. 진행 방식에서 유독 눈에 띄었던 부분은 기능을 구현하기 전에 기능 목록을 만들라는 문구 였다. 나는 지금까지 알고리즘 공부를 일단 주어진시간에 빠르고 효율적인 알고리즘을 사용하는 것이 중요해 이런 방식으로는 문제를 풀어본 적이 없어서 살짝 막막했던 것 같다. 항상 혼자 코딩을 할 때, 의식적으로 가독성 좋고 이쁜 코드를 짜야지!라는 생각을 가지고 시작해도 항상 촉박하게 기능적으로만 작동하는 코드 작성을 했었는데, 이제부터라도 연습을 통해 코드의 기능 뿐만 아니라, 가독성과 재사용성에 대해 고민해보며 코드를 짜야겠다라는 생각이 들었다. 🚀 문제 1 포비와 크롱이 ..
자바의 자료형 자바의 대표적인 자료형에는 다음과 같은 5가지가 있다. 정수형 : byte, short, int, long 실수형 : float, double 문자형 : char 문자열 : String 논리형 : boolen 데이터 저장 단위 비트(bit) 컴퓨터가 나타내는 데이터의 저장 최소 단위. 2진수 하나의 값을 저장할 수 있는 메모리 공간 바이트(byte) 데이터 처리 또는 문자의 최소단위. 8개의 비트가 모여 하나의 바이트 생성(1byte = 8bit) 변수 저장 가능 범위 종류 자료형 크기(byte/bit) 표현 범위 기본 값 논리형 boolen 1byte /8 bit true 또는 false 문자형 char 2byte /16 bit '\u0000' ~ 'uFFFF' (16비트 유니코드 문자 ..
🔗 1158번 요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 ..

🔗 14889번 스타트와 링크 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 문제 오늘은 스타트링크에 다니는 사람들이 모여서 축구를 해보려고 한다. 축구는 평일 오후에 하고 의무 참석도 아니다. 축구를 하기 위해 모인 사람은 총 N명이고 신기하게도 N은 짝수이다. 이제 N/2명으로 이루어진 스타트 팀과 링크 팀으로 사람들을 나눠야 한다. BOJ를 운영하는 회사 답게 사람에게 번호를 1부터 N까지로 배정했고, 아래와 같은 능력치를 조사했다. 능력치 Sij는 i번 사..