공부/TIL (84) 썸네일형 리스트형 23.10.27 팀플을 완료했다. 오늘은 팀플을 오전에 마무리 하고 시간이남는 시간을 프로그래머스 문제를 풀었다. 이번주 팀플에 신경을 쓰고 깃에 정신력이 너무 갉혔는데 프로그래머스 문제를 푸는것은 그래도 재밌게 공부했다. 다음주부터는 본격적인 spring 수업 시작이니까 월요일부턴 spring 인강을 예습해야겠다. 오늘은 그냥 알고리즘 공부 했음!! 호텔 예약 프로그램 이번 자바 팀프로젝트는 호텔 예약 프로그램 작성이다. 필수 구현 요구사항은 다음과 같다. 호텔은 여러 객실, 보유 자산을 가지고 있다. 객실은 객실 당 하루에 한 사람만 예약이 가능하다. 객실은 크기, 숙박비를 가진다. 예약은 객실, 고객의 이름, 고객의 전화번호, 예약 날짜를 가지고 있다. 전화 번호 제한(XXX-XXXX-XXXX) 정규 표현식 (선택) 예약 날짜 **** 날짜는 ISO 8601 형식으로 조합된 UTC 날짜 및 시간 예) 2016-10-27T17:13:40+00:00 고객은 이름, 전화번호, 소지금을 가진다. 고객 소지금보다 비싼 방은 예약 불가 호텔은 모든 예약 목록을 조회 할 수 있다. 고객은 자신의 예약 목록을 조회 할 수 있다. 예약 번호로 예약 내역을 조회한다 고객은 자신의 예.. 23.10.26 오늘 팀프로젝트를 거의 끝냈다. 내일 오전중이면 아마 팀플은 마무리될 것 같다. 이제부터는 내 개인 공부 (자바 개념공부, 알고리즘, 스프릥 예습)을 할 시간! 오늘 튜터님과 면담을 했다. 팀원들의 알고리즘 공부난이도와 내 알고리즘 공부 난이도가 맞지 않는 것 같다고 말씀 드렸더니 그럼 아예 처음부터 다시 시작 해보는 것도 좋다고 하셨다. 그 말을 듣고 오늘은 프로그래머스 0단계부터 그냥 차근차근 풀어봤다!근데 나 0단계도 가끔씩 틀린다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 이런 사람이 실버 5단계를 풀려고 했으니 풀릴리가 없지.. 내 수준을 적나라하게 알아버렸으니! 이제부터 프로그래머스 3단계를 다음주까지 모두 풀기로 마음 먹었다. 내일 프로젝트가 끝난다면 프로그래머스 문제를 하루종일 풀어야겠다. 그래도 이제라.. 23.10.25 자바 팀플 과제 2일차// 깃 풀 리퀘스트 머지// 객체 지향 프로그래밍 특강 자바 티플 과제 2일차에 돌입했다. 어제는 파트별로 설계에 집중했다. 내생각엔 설계에 집중하는 것도 좋은데 서로 파트가 대화를 하면서 어떤 메서드는 어떻게 구현 될 것인지? 어떤 분기점에서는 어떤 메서드가 필요한지? 이 클래스에서는 이 멤버변수가 필요하니 get, set 메서드를 이용해서 접근을 할 수 있도록 해달라는 요구를 해야 한다던지. 이런 게 필요하다고 생각했다. 이런 부분을 고려하면서 설계를하는 방식이 회의 시간이 오래 걸리긴 하겠지만, 좀 더 명확히 설계 방향성을 잡을 수있다고 생각했고, 오늘 내 생각에 필요했던 회의가 이루어졌다. 전체적인 프로젝트의 흐름을 다같이 훑었다. 사용자 입력에대한 분기들을 나누고, 나뉘어.. 23.10.24 자바 팀프로젝트 시작! 이번에는 호텔 예약 프로그램 구현이다. 호텔은 여러 객실, 보유 자산을 가지고 있다. 객실은 객실 당 하루에 한 사람만 예약이 가능하다. 객실은 크기, 숙박비를 가진다. 예약은 객실, 고객의 이름, 고객의 전화번호, 예약 날짜를 가지고 있다. 전화 번호 제한(XXX-XXXX-XXXX) 정규 표현식 (선택) 예약 날짜 **** 날짜는 ISO 8601 형식으로 조합된 UTC 날짜 및 시간 예) 2016-10-27T17:13:40+00:00 고객은 이름, 전화번호, 소지금을 가진다. 고객 소지금보다 비싼 방은 예약 불가 호텔은 모든 예약 목록을 조회 할 수 있다. 고객은 자신의 예약 목록을 조회 할 수 있다. 예약 번호로 예약 내역을 조회한다 고객은 자신의 예약을 취소 할 수 있다. 고.. 23.10.23 키오스크 과제를 제출했다. 선택사항을 모두 구현하고 싶었지만, 선택사항은 구현에 실패했고, 필수사항과 선택사항 1번만 구현에 성공했다. 선택사항에 실패한 이유를 분석해봤다. 실패한 첫번째 선택사항은 메뉴의 옵션을 추가하기 였다. 너무 어렵게 생각했다. 단순히 Product 메뉴에서 옵션 필드를 String 타입으로 하나 선언해주고, double 타입으로 옵션 가격을 따로 선언하면 되는 간단한 문제였다. 나는 옵션이 추가 되는 순간 Product메뉴들을 담고있는 배열을 모두 수정해야하나? 라는 생각에 겁을 먹고 구현에 실패했다. 좀만 더 생각해보면 간단한 거였는데 후회가 남았다. 이건 여유시간이 될때마다 좀 더 구현을 해서 마무리해보고 싶다. 실패한 두번째 선택사항은 오늘 총 판매 목록 조회였다. 나는 P.. 23.10.20 오늘 감기기운이 더 심해져서 결국병원행.. a형독감이었다. 진짜 오늘은 죽을거 같이 아팠다.. 다행히 아프기 전에 백준 문제를 한개를 풀었다. 그후엔 거의 사경을 헤맸다.. 개인과제를 끝낼 수 있을지 걱정이다.. 정수 입력값 n의 팩토리얼 값의 뒷자리가0이 아닌 다른 숫자가 나오기 전까지의 0의 갯수를 구하기! 내가 생각한 방식은 팩토리얼의 뒷자리가0이라는 뜻은 10의 갯수를 구하는 것과 같다. 10을 다시 생각하면 2의 갯수와 5의 갯수를 세면 된다. 이때 2는 5에 비해 많이 많지만, 5가 없이는 끝자리를 0으로 만들 수 없다. 따라서 2를 세는것보다 5의갯수를 세주면 된다. 팩토리얼의 5의 갯수를 구하는 방식은 n의 값보다 작은 값중에 5로 나누었을 때 나머지가 0인 갯수를 카운트 해주면 된다. 하.. 23.10.19 오늘의 알고리즘 문제는 백준(13241)번 [최소공배수 구하기], 백준(11004)[k번째수] 아직 실버 5단계의 벽이 버거움.. 구현을 번번히 실패했다. 최소공배수 구하기를 공부하면서 유클리드 호제법을 알았다. 유클리드 호제법은 최대공약수를 구하는 알고리즘! 방식은 a,b의 최대공약수는 두값을 나눈 나머지값을 r이라고 하자 (a>b). 그리고 나머지값 r과 작은수 a를 다시 나눈 후 나머지를 구한다. 이 연산을 반복하다가 r=0이 된 순간의 a값이 최대공약수이다. while(r!=0){ a%b = r; a=r; b=a; } return a; 과같이 함수를 구현해주면 된다. 그 후 최대공배수는 최대공약수 * 두수의 곱이다. 백준(11004)번은 사실 시간이 너무 오래 걸려 풀지 못함.. 오늘 개인 자바 .. 23.10.18 오늘 정말 많이 배웠다.. 본격적인 자바 개인 과제의 시작! 과제는 키오스크 프로그램 작성이었다. 과제의 시작과 동시에 팀원들과의 소통이 시작됐다. 팀원들과 하루에 2개의 알고리즘을 풀고 어떻게 풀었는지 얘기해보는 시간을 갖기로 했다. 다들 너무 잘해서 나는 정말 많이 부족했지만 그래도 씩씩하게 잘 발표했다. 못하는게 부끄러운게 아니다. 성장하지 못하는게 부끄러운거니까. 아무튼! 오늘 배운것들 1. 자바의 입력단은 scanner보단, 버퍼리더를 사용하자!, 또한 출력단은 println 보다는 스트링 빌더를사용하자! 그 이유는 코테에서 속도에 걸린다고 한다. (그럼 왜 저걸로 알려주는걸까..?) 2. 배열을 만질때는 정말 많은 메서드를 제공하니 배열관련된 문제는 좋은 메서드로 접근하자 좋은 메서드를 사용하.. 23.10.17 16일날 정말 너무심한 감기에 걸려 17일 오후2시까지 정신이하나도없었다. 책상에 앉아 있었지만 제대로된 공부를 하지 못해서 16일 TIL을 쓰지 못했다. 오늘도 정신이 몽롱해 아쉽지만.. 그럼에도 배운것! 처음부터 모든 프로그래밍을 한 클래스에 작성한느 것이 아닌, 조합하여 사용할 수 있게 역할을 분리하여 클래스를 작성한다. 그후 조각 나있는 프로그램들을 조합하여 프로그램을 작성할 수 있게 만든다. 이때 각각의 개체를 객체라고 한다. 이는 현실과 밀접하게 이루어져 있어 이해하기 더 쉬운 프로그래밍 방식이라고 생각한다. 객체속에는 메서드와 필드로 이루어져 있다. 메서드는 객체에서 사용가능한 함수라고 생각했다. 그리고 필드는 객체가 가지고 있는 변수값들. 객체를 이용한 프로그래밍 방식으로는 예를들어 사람에.. 이전 1 ··· 5 6 7 8 9 다음