본문 바로가기
728x90

TIL61

[231106] 알고리즘 문제, 스탠다드반 과제 알고리즘 문제 풀기 프로그래머스의 'JadenCase 문자열 만들기' 문제를 풀었다. 처음에는 split으로 공백 기준으로 문자열을 나눈 뒤 각 단어의 첫 글자를 isUpperCase()로 대문자로 만들었다. 그런데 문제의 조건에 공백이 여러 개 있을 수 있다고 되어있어서 문자열의 문자를 하나씩 검토하는 방식으로 바꿔야곘다는 생각이 들어 수정했다. 나는 문자열의 문자 하나씩 조회하면서 공백 다음 문자인지 flag를 통해 확인하였다. 문제를 풀고 난 뒤 다른 사람의 풀이를 확인했더니 문자열을 문자 하나씩 검사하는 것이 아니라 split을 이용해 각 문자 1개로 이루어진 문자열들의 배열로 만드는 방식을 사용했다. split("")과 같이 사용하는 것은 처음 봐서 놀랐고 문자열 배열로 만들어 하나씩 검사하니까.. 2023. 11. 6.
[231103] Spring 개인과제 Spring 입문 강의 2주차를 마무리하고 주어진 개인과제를 했다. 강의에서 배우자마자 과제를 하다보니 내가 잘 알아서 코드를 짠다기 보다 얼추 끼워 맞춰가면서 과제를 하는 느낌이었다. 거의 강의 자료를 토대로 따라한 거긴 하지만 일단 개인과제를 다 했기 때문에 기록해두려고 한다. 과제: 스파르타 익명 게시판 서버 만들기 필수 구현 기능 게시글 작성 기능 제목, 작성자명, 비밀번호, 작성 내용, 작성일을 저장할 수 있습니다. 저장된 게시글의 정보를 반환 받아 확인할 수 있습니다. 반환 받은 게시글의 정보에 비밀번호는 제외 되어있습니다. 선택한 게시글 조회 기능 선택한 게시글의 정보를 조회할 수 있습니다. 반환 받은 게시글의 정보에 비밀번호는 제외 되어있습니다. 게시글 목록 조회 기능 등록된 게시글 전체를.. 2023. 11. 3.
[231102] 배열을 리스트로, 스프링 bean과 싱글톤 패턴 알고리즘 문제 풀기 스트림을 이용해 배열 -> 리스트 변환하기 배열을 리스트로 변환하기 위해 .toList() 스트림을 쓰려고 했는데 오류가 발생했다. 배열은 int[] 배열인데 리스트의 값은 Integer 타입이기 때문이다. 검색해보니 중간에 .boxed()를 추가해서 박싱한 후 리스트로 변환해줘야 했다. List list = Arrays.stream(arr).boxed().toList(); 스프링 bean 스프링 강의를 들으면서 bean에 대해 배우게 되었다. 스프링에서 Controller, Service, Repository 이렇게 세 개의 레이어로 나누는 과정에서 외부에서 미리 만든 객체를 주입함으로써 의존성을 역전시켜 코드의 유지보수성을 높인다는 내용을 배웠는데 그 과정에서 Spring 프레임워.. 2023. 11. 2.
[231101] 스트림을 배열로 변환, POST와 GET의 차이 알고리즘 문제 풀기 프로그래머스의 '배열 조각하기'라는 문제를 풀면서 한 가지 궁금증이 생겼다. 미리 선언한 arr라는 int 배열에 Arrays.copyofRange로 특정 배열의 일부분을 복사할 때 기존 배열의 크기에 맞춰서 값만 대입이 되는 건지(남은 공간은 0으로 채워지는 건지) 아니면 해당 범위로 자른 배열 그 자체가 대입되는 것인지 궁금했다. 처음에는 기존 배열의 길이에 맞춰 값이 들어가겠다고 생각했는데 Arrays.copyofRange의 코드로 들어가보니 새로운 길이로 선언한 배열 자체를 리턴해주고 있었다. public static int[] copyOfRange(int[] original, int from, int to) { int newLength = to - from; if (newLe.. 2023. 11. 1.
[231031] Spring 입문 Spring 입문주차 강의 오늘은 처음으로 Spring 강의를 지급받아 수강하기 시작했다. 초반에 sql을 복습할 때에는 기억이 잘 안나서 조금 애먹었다. Spring 강의를 들으면서 이전 팀원분들이 알려주신 내용 덕분에 친숙함을 느꼈고 그래서 더 이해를 잘 할 수 있었다. 오늘은 처음으로 간단한 API 하나를 설계하고 구현해보는 데까지 해보았다. 처음이라 코드들이 대부분 낯설지만 그래도 재미있게 느껴졌다. 일단 수업을 잘 따라가면서 스프링을 잘 익히고 싶다 ! 내배캠 관련 리포지토리 합치기 https://backendcode.tistory.com/271 [Git] GitHub 여러 Repository 합치기 간단 총 정리 이번 글에서는 이전에 생성하였던 여러 Repository를 하나의 Reposito.. 2023. 10. 31.
[231030] 팀 프로젝트 KPT 회고 오늘은 팀 과제를 마무리하는 날이었다. 아침에 각자의 수정사항을 PR 후 merge하였고 제출하였다. 마지막으로 이번 팀 프로젝트에 대한 KPT 회고를 진행하였고 각자의 의견을 모아서 기록하려 한다. KEEP 프로젝트 진행에 있어 다들 적극적이어서, 어려운 부분도 잘 도움 받았고, 좋은 정보도 공유하며 수월하게 마무리된 점이 아주 상당히 좋았습니다. 소통이 원활하고 적극적이며 분위기가 좋았다. 새로운 의견을 제안하면 팀원들도 적극적으로 의견을 내고 생각을 공유하는 시간을 종종 갖게 되어서 개발하는데 큰 도움이 되었다. 프로젝트 동안 활발한 소통을 통해 문제를 해결할 수 있었음 문득 떠오르는 아이디어나 의문점 등을 기록해서 이후에 놓치지 않고 고려할 수 있었음 팀원들의 지식 공유로 많이 배워갈 수 있는 환.. 2023. 10. 30.