| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 재귀
- 프로그래머스
- 규칙
- 0장
- 문제풀이
- Repository
- 1024
- mirror
- 7장
- 백준
- 2장
- N으로 표현
- 자기호출
- 1011
- Wiki
- 6장
- 기하학
- 클린코드
- 원의 방정식
- 8장
- basis step
- 3장
- recursion
- inductive step
- Clean code
- 수학
- programmers
- dp
- 4장
- BOJ
- Today
- Total
목록전체보기 (13)
LeeA0의 공부 일기
4장의 내용을 토대로 주석을 개선해보았습니다! import java.util.Arrays; import java.util.LinkedList; public class Programmers_위클리_7주차 { public static void main(String[] args) { int[] enter = { 1, 3, 2 }; int[] leave = { 1, 2, 3 }; System.out.println(Arrays.toString(solution(enter, leave))); } // 상반기 라인코테 문제랑 같다! public static int[] solution(int[] enter, int[] leave) { // 회의실에 입장해 있는 사람 LinkedList inPeople = new Link..
[사담] 더보기 다음주면 벌써 추석이네요~! ㅎㅎㅎ 명절동안 미뤄두었던 알고 정리랑 클린코드 정리를 하고 싶네요~ 평소에 알고리즘 문제를 풀고, 주석을 하나하나 남겨 놓는게 좋은 건줄 알았는 데, 이번 장을 읽으면서 생각이 바뀌었습니다..ㅎㅎ 앞으로 필요한 정보만 주석으로 남기도록해야겠네요! [정리] 나쁜 코드에 주석을 달지 마라. 새로 짜라. 잘 달린 주석 경솔하고 근거없고 오래된 주석 그 어떤 정보보다 유용 코드를 이해하기 어렵게 만듬 거짓과 잘못된 정보를 퍼트림 - 만약, 프로그래밍 언어 자체가 표현력이 풍부하다면? 주석은 필요하지 않다. - 주석은 코드로 의도를 표현하는 것에 실패했을 때, 이를 만회하기 위해 사용하는 것이다. - 부정확한 주석은 아예 없는 주석보다 훨씐 더 나쁘다. => 진실은 ..
[사담] 더보기 하반기 시작되면서 책읽고 또 읽으면서 정리하는게 쉽지많은 않네요 ㅎㅎㅎ 그래도 최대한 시간내서 틈틈히 정리해보겠습니다~! 다다음주면 추석이네요 ㅎㅎㅎ [정리] 1. 길이가 길고, 중복된 코드가 있고, 괴상한 문자열과 낯설고 모호한 자료유형과 API를 가진 코드 public static String testableHTML( PageData pageData, boolean includeSuiteSetup ) throws Exception { WikiPage wikiPage = pageData.getWikiPage(); StringBuffer buffer = new StringBuffer(); if(pageData.hasAttribute("Test")){ if(includeSuiteSetup)..
2장의 내용을 토대로 적지만 예전에 풀은 알고리즘 코드를 개선 시켜보았습니다. import java.util.Arrays; public class Programmers_로또의최고순위와최저순위 { public static void main(String[] args) { int[] lottos = { 0, 0, 0, 0, 0, 0 }; int[] win_nums = { 38, 19, 20, 40, 15, 25 }; System.out.println(Arrays.toString(solution(lottos, win_nums))); } public static int[] solution(int[] lottos, int[] win_nums) { int[] rank = { 6, 6, 5, 4, 3, 2, 1 }; ..
오랫만에 알고리즘 문제 풀이를 적어보겠습니다~ DP는 풀면 풀수록 어려운데, 특히 이번 문제는 생각치도 못했던 방법이어서 안잊도록 적어보려해요! 오늘의 문제는 N으로 표현입니다. 문제분석 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요. 제한사항 N은 1 이상 9 이하입니다. number는 1 이상 32,000 이하..
[사담] 더보기 이번 장부터 본격적인 클린 코드 작성방법이 나와서 좋았습니다. 코드의 예시까지 함께볼 수 있어서 좋았는데, 이해 안 되는 부분도 몇 있어서 그 부분만 여러 번 읽었네요 ㅎㅎ 규칙의 예시 중에 "젠 야무다 힘즈"가 너무 재밌었습니다..ㅋㅋㅋ 이름을 정할 땐 항상 조심해야겠네요~ㅎ [정리] 1. 의도를 분명히 밝혀라 변수나 함수, 클래스 이름은 다음과 같은 질문에 답해야 한다. - 존재 이유는? - 수행 기능은? - 사용 방법은? (따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 의미 int d; // 경과 시간(단위:날짜) int daysSinceCreation; int daysSiceModification; public List getThem() { List list1 = new ..
[사담] 더보기 이번 장에서 제일 공감됬던 말은 '우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다' 였습니다 ㅎㅎ.. 실제로 그 때에는 최선이라 생각했던 코드들도, 나중에 봤을 때 별로라 생각해 고쳐야겠다는 마음을 먹었었는데요. 다음 일을 하느라 급해서 아직도 리팩토링 못한게 많습니다 ㅠㅠ.. 이 책을 읽고 열심히 공부해서 리팩토링을 해야겠다는 생각이 다시 드네요 ㅎㅎ.. [정리] DSL (Domain Specific Language) : 도메인에 특화된 언어, 특정 문제 표현 기법, 특정 문제 해결 기법에 사용할 목적으로 만든 프로그래밍 언어나 명세 언어 나쁜 코드의 악순환 출시에 바빠 코드를 마구 작성 -> 기능을 추가 -> 감당불가 -> 새로운 시스템을 설계하자는..
[사담] 더보기 저는 책을 많이 읽는 편은 아니지만ㅎㅎ.. 무슨 책을 읽든 앞에 있는 '옮긴이 서문', '추천사'이런거를 읽는 편이에요. 읽으면서 느낀 점은 옮긴이도 독자로서 이 책을 정말 좋아하는구나가 느껴졌습니다! '0장. 들어가면서'에서 좋은 코드를 짜기위해 필요한 것은 '장인정신'이라고 알려줍니다. '깨끗한 코드를 작성하는 방법은 배우기 어렵기 때문에 고생을 해봐야한다'라고 말씀하시는데요. 저도 동의하는 바입니다! 노력없이 이루어지는 건 없으니까요~ 앞으로 알고리즘을 짜면서 책에서 지시한데로 짜려고 노력해야겠어요! [정리] "처음 왔을 때 보다 캠프장을 더 깨끗이 치우고 떠나라" => 체크인하기 전에 코드를 깨끗하게 정리했는가? TPM (Total Productive Management) : 생산..