전체 글
-
보호되어 있는 글입니다.
[코딩 테스트 합격자 되기]4주차 - 7장 큐보호되어 있는 글입니다.
2024.02.17 -
보호되어 있는 글입니다.
[코딩 테스트 합격자 되기]3주차 - 6장 스택보호되어 있는 글입니다.
2024.02.17 -
id 불러오기 ① {{#article}}{{/article}} 범위 형식으로 지정한 경우 {{id}}만 사용해도 됨 {{#article}} {{id}} {{title}} {{content}} {{/article}} ②범위를 지정하지 않은 경우 점(.)을 사용해 {{article.id}}라고 표시해야 됨 Edit @GetMapping() 뷰 페이지에서는 변수를 사용할 때 중괄호 두개 ({{}}) 사용 컨트롤러에서 URL 변수를 사용할 때는 하나만 ({}) 만 사용 클라이언트와 서버 간 처리 흐름 ① MVC(Model-View-Controller) : 서버 역할을 분담해 처리하는 기법 ② JPA(Java Persisitence API): 서버와 DB 간 소통에 관여하는 기술 ③ SQL(Structured Q..
[Spring] CRUD:Update 01id 불러오기 ① {{#article}}{{/article}} 범위 형식으로 지정한 경우 {{id}}만 사용해도 됨 {{#article}} {{id}} {{title}} {{content}} {{/article}} ②범위를 지정하지 않은 경우 점(.)을 사용해 {{article.id}}라고 표시해야 됨 Edit @GetMapping() 뷰 페이지에서는 변수를 사용할 때 중괄호 두개 ({{}}) 사용 컨트롤러에서 URL 변수를 사용할 때는 하나만 ({}) 만 사용 클라이언트와 서버 간 처리 흐름 ① MVC(Model-View-Controller) : 서버 역할을 분담해 처리하는 기법 ② JPA(Java Persisitence API): 서버와 DB 간 소통에 관여하는 기술 ③ SQL(Structured Q..
2024.01.17 -
데이터 조회 과정 ① 사용자가 조회할 데이터를 웹 페이지에서 URL 요청을 보냄 ② 서버의 Controller가 요청을 받아 해당 URL에서 찾으려는 정보를 Repostiory에 전달 ③ 리파지터리는 정보를 가지고 DB에 데이터 조회를 요청 ④ DB는 해당 데이터를 찾아 이를 Entity로 반환 ⑤ 반환된 엔티티는 model을 통해 view template으로 전달됨⑥ 최종적으로 결과 view page가 완성돼 사용자의 화면에 출력됨 ② URL 요청을 전달받음 @GetMapping("~~/{id}") @GetMapping("/~~/{id}") public String show(@PathVariable Long id, Model model) { } @PathVarialbe 어노테이션을 붙여야 URL의 id..
[Spring] CRUD:Read데이터 조회 과정 ① 사용자가 조회할 데이터를 웹 페이지에서 URL 요청을 보냄 ② 서버의 Controller가 요청을 받아 해당 URL에서 찾으려는 정보를 Repostiory에 전달 ③ 리파지터리는 정보를 가지고 DB에 데이터 조회를 요청 ④ DB는 해당 데이터를 찾아 이를 Entity로 반환 ⑤ 반환된 엔티티는 model을 통해 view template으로 전달됨⑥ 최종적으로 결과 view page가 완성돼 사용자의 화면에 출력됨 ② URL 요청을 전달받음 @GetMapping("~~/{id}") @GetMapping("/~~/{id}") public String show(@PathVariable Long id, Model model) { } @PathVarialbe 어노테이션을 붙여야 URL의 id..
2024.01.14 -
롬복 코드를 간소화해주는 라이브러리 롬복 설치 방법 ① build.gradle 파일 > dependencies에 아래와 같은 코드 추가하기 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' ②Load Gradle Changes 아이콘 클릭 후 자동 다운로드 롬복 사용 방법 @AllArgsConstructor 어노테이션 생성자 자동 생성 @ToString toString() 메서드 자동 생성 @Slf4j 로깅 기능 사용 실제 서버에서 println()을 사용하면 데이터 검증 불가능, 서버 성능 악영향 끼 // 사용 예시 log.info(form.toString());
[Spring] 롬복롬복 코드를 간소화해주는 라이브러리 롬복 설치 방법 ① build.gradle 파일 > dependencies에 아래와 같은 코드 추가하기 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' ②Load Gradle Changes 아이콘 클릭 후 자동 다운로드 롬복 사용 방법 @AllArgsConstructor 어노테이션 생성자 자동 생성 @ToString toString() 메서드 자동 생성 @Slf4j 로깅 기능 사용 실제 서버에서 println()을 사용하면 데이터 검증 불가능, 서버 성능 악영향 끼 // 사용 예시 log.info(form.toString());
2024.01.14 -
🔉문제 2019 KAKAO BLIND RECRUITMENT - 실패율 ❓제한 사항 ❗답 def solution(N, stages): # 스테이지별 도전자 수 challenger = [0] * (N + 2) for stage in stages: challenger[stage] += 1 # 스테이지별 실패율 fails = {} total = len(stages) # 각 스테이지를 순회하며, 실패율 계산 for i in range(1, N+1): if challenger[i] == 0: # 도전하는 사람 X == 실패율 0 fails[i] = 0 else: fails[i] = challenger[i] / total total -= challenger[i] result = sorted(fails, key=lam..
[프로그래머스] 2019 KAKAO BLIND RECRUITMENT - 실패율🔉문제 2019 KAKAO BLIND RECRUITMENT - 실패율 ❓제한 사항 ❗답 def solution(N, stages): # 스테이지별 도전자 수 challenger = [0] * (N + 2) for stage in stages: challenger[stage] += 1 # 스테이지별 실패율 fails = {} total = len(stages) # 각 스테이지를 순회하며, 실패율 계산 for i in range(1, N+1): if challenger[i] == 0: # 도전하는 사람 X == 실패율 0 fails[i] = 0 else: fails[i] = challenger[i] / total total -= challenger[i] result = sorted(fails, key=lam..
2024.01.12 -
코딩 테스트 합격자 되기 1회독 스터디 내용입니다. 코딩테스트 합격자 되기 - 05 배열 : 네이버 카페 (naver.com) 배열 인덱스와 값을 일대일 대응해 관리하는 자료구조 차원과는 무관하게 메모리에 연속 할당됨 배열 선언 방법 1차원 리스트 생성자를 사용하는 방법 arr = [0 for _ in range(6)] # [0, 0, 0, 0, 0, 0] 리스트 컴프리헨션을 활용하는 방법 arr = [0 for _ in range(6)] # [0, 0, 0, 0, 0, 0] 2차원 리스트 생성자를 사용하는 방법 arr = [[1, 2, 3], [4, 5, 6]] # ➊ 2행 3열 2차원 배열을 표현하는 리스트 선언 리스트 컴프리헨션을 활용하는 방법 # 크기가 3 * 4인 리스트를 선언하는 예 arr =..
[코딩 테스트 합격자 되기]2주차 - 5장 배열코딩 테스트 합격자 되기 1회독 스터디 내용입니다. 코딩테스트 합격자 되기 - 05 배열 : 네이버 카페 (naver.com) 배열 인덱스와 값을 일대일 대응해 관리하는 자료구조 차원과는 무관하게 메모리에 연속 할당됨 배열 선언 방법 1차원 리스트 생성자를 사용하는 방법 arr = [0 for _ in range(6)] # [0, 0, 0, 0, 0, 0] 리스트 컴프리헨션을 활용하는 방법 arr = [0 for _ in range(6)] # [0, 0, 0, 0, 0, 0] 2차원 리스트 생성자를 사용하는 방법 arr = [[1, 2, 3], [4, 5, 6]] # ➊ 2행 3열 2차원 배열을 표현하는 리스트 선언 리스트 컴프리헨션을 활용하는 방법 # 크기가 3 * 4인 리스트를 선언하는 예 arr =..
2024.01.12 -
DTO(Data Transfer Object) 폼 데이터에 실어 보낸 데이터는 서버의 컨트롤러가 객체에 담아 받는데, 이 객체를 DTO라고 함 JPA 자바 언어로 DB에 명령을 내리게 하는 도구로, 데이터를 객체 지향적으로 관리하도록 도와줌 - entity(엔티티) : 자바 객체를 DB가 이해할 수 있게 만든 것으로, 이를 기반으로 테이블이 만들어짐 - repository(리파지터리) : DB 속 테이블에 저장 및 관리될 수 있게 하는 인터페이스 DTO를 DB에 저장하는 과정 DTO를 엔티티로 변환한 후 리파지터리를 이용해 엔티티를 DB에 저장 DI(Dependency Injection, 의존성 주입) 외부에서 만들어진 객체를 필요한 곳으로 가져오는 기법 스프링부트는 @Autowired 어노테이션으로 의..
[Spring]DTO(Data Transfer Object) 폼 데이터에 실어 보낸 데이터는 서버의 컨트롤러가 객체에 담아 받는데, 이 객체를 DTO라고 함 JPA 자바 언어로 DB에 명령을 내리게 하는 도구로, 데이터를 객체 지향적으로 관리하도록 도와줌 - entity(엔티티) : 자바 객체를 DB가 이해할 수 있게 만든 것으로, 이를 기반으로 테이블이 만들어짐 - repository(리파지터리) : DB 속 테이블에 저장 및 관리될 수 있게 하는 인터페이스 DTO를 DB에 저장하는 과정 DTO를 엔티티로 변환한 후 리파지터리를 이용해 엔티티를 DB에 저장 DI(Dependency Injection, 의존성 주입) 외부에서 만들어진 객체를 필요한 곳으로 가져오는 기법 스프링부트는 @Autowired 어노테이션으로 의..
2024.01.12 -
코딩 테스트 합격자 되기 1회독 스터디 내용입니다. 코딩테스트 합격자 되기 - 04 코딩 테스트 필수 문법 : 네이버 카페 (naver.com) 4️⃣장 코딩 테스트 필수 문법 엡실론(eplsilon) 부동소수형 데이터를 이진법으로 표현하면 과정에서 발생하는 오차 10 % 3.2의 연산 결과는 0.4가 아니라 0.39999999999999947 이로 인해 테스트 케이스에 통과하지 못하는 경우도 생기니 꼭 주의하자!! mutable object 데이터 수정할 수 있는 객체 list, directory, set immutable object 데이터 수정할 수 없는 객체 정수, 부동소수점, 문자열, tuple 람다식(lamda) 간결한 함수 표현 방법 한 번만 사용하거나 인자로 함수를 넘겨야 할 경우 유용 ⭐..
[코딩 테스트 합격자 되기]1주차 - 4장 코딩 테스트 필수 문법코딩 테스트 합격자 되기 1회독 스터디 내용입니다. 코딩테스트 합격자 되기 - 04 코딩 테스트 필수 문법 : 네이버 카페 (naver.com) 4️⃣장 코딩 테스트 필수 문법 엡실론(eplsilon) 부동소수형 데이터를 이진법으로 표현하면 과정에서 발생하는 오차 10 % 3.2의 연산 결과는 0.4가 아니라 0.39999999999999947 이로 인해 테스트 케이스에 통과하지 못하는 경우도 생기니 꼭 주의하자!! mutable object 데이터 수정할 수 있는 객체 list, directory, set immutable object 데이터 수정할 수 없는 객체 정수, 부동소수점, 문자열, tuple 람다식(lamda) 간결한 함수 표현 방법 한 번만 사용하거나 인자로 함수를 넘겨야 할 경우 유용 ⭐..
2024.01.04 -
코딩 테스트 합격자 되기 1회독 스터디 내용입니다. 코딩테스트 합격자 되기 - 03 알고리즘의 효율 분석 : 네이버 카페 (naver.com) 3️⃣장 알고리즘 효율 분석 🧐시간복잡도란? 알고리즘의 성능을 나타내는 지표로, 입력 크기에 대한 연산 횟수의 상한을 의미함 시간 복잡도는 낮을수록 좋음 점근적 표기법 어떤 함수의 증가하는 추세를 표현하는 기법 (최악의 경우에 대하여 시간 복잡도를 표현하는 방법) 빅오 표기법 연산 횟수가 f(x) = 2x² + 3x + 5라면 시간 복잡도를 O( x² )과 같이 표기 ✔️추가 문제 56P 테이블의 C*g(x) 제시 + 그래프 수식 빅오 표기 C g(x) 3x² + 5x + 6 O(x²) 4 x² x + logx O(x) 1.5 x 2^{x} + 10x⁴ + 5x²..
[코딩 테스트 합격자 되기]1주차 - 3장 알고리즘 효율 분석코딩 테스트 합격자 되기 1회독 스터디 내용입니다. 코딩테스트 합격자 되기 - 03 알고리즘의 효율 분석 : 네이버 카페 (naver.com) 3️⃣장 알고리즘 효율 분석 🧐시간복잡도란? 알고리즘의 성능을 나타내는 지표로, 입력 크기에 대한 연산 횟수의 상한을 의미함 시간 복잡도는 낮을수록 좋음 점근적 표기법 어떤 함수의 증가하는 추세를 표현하는 기법 (최악의 경우에 대하여 시간 복잡도를 표현하는 방법) 빅오 표기법 연산 횟수가 f(x) = 2x² + 3x + 5라면 시간 복잡도를 O( x² )과 같이 표기 ✔️추가 문제 56P 테이블의 C*g(x) 제시 + 그래프 수식 빅오 표기 C g(x) 3x² + 5x + 6 O(x²) 4 x² x + logx O(x) 1.5 x 2^{x} + 10x⁴ + 5x²..
2024.01.04 -
✔️문제 k의 개수 ✔️해결코드 def solution(i, j, k): answer = 0 for x in range(i, j+1): for y in str(x): if str(k) == y: answer += 1 return answer ⭐풀이 문제 설명을 자세히 보면 1은 1, 11, 12, 13 에 6번 등장한다고 적혀있다. 11에 있는 1을 따로 생각해서 6번이라고 한 것 이다. 우선 i 부터 j까지의 숫자를 뽑은 후 문자형으로 만들어준다. 정수 k는 비교할 수 없으면 문자형으로 만든 후 같으면 answer + 1을 해준다
[프로그래머스] [내일은 코딩테스트 with 파이썬 파트2. 구현] 문제 3) k의 개수(Python)✔️문제 k의 개수 ✔️해결코드 def solution(i, j, k): answer = 0 for x in range(i, j+1): for y in str(x): if str(k) == y: answer += 1 return answer ⭐풀이 문제 설명을 자세히 보면 1은 1, 11, 12, 13 에 6번 등장한다고 적혀있다. 11에 있는 1을 따로 생각해서 6번이라고 한 것 이다. 우선 i 부터 j까지의 숫자를 뽑은 후 문자형으로 만들어준다. 정수 k는 비교할 수 없으면 문자형으로 만든 후 같으면 answer + 1을 해준다
2023.11.01 -
✔️문제 운동 중독 플레이어 ✔️해결코드 def solution(chicken): answer = 0 if chicken > 9: chicken = chicken - 10 answer = chicken // 9 + 1 else: answer = 0 return answer ⭐풀이 처음 서비스 치킨을 받을 때만 치킨 10마리가 필요하다. 그 이후에는 서비스 치킨에 있는 쿠폰이 있기 때문에 9마리만 있어도 된다. 처음 문제 푼 후 테스트케이스 1번에서 실패를 했는데 쿠폰 10개가 되지 않을 경우 서비스 치킨을 받지 못하는 경우였다. if문으로 9번만 주문 했을 경우 answer = 0으로 처리해줬다.
[프로그래머스] [내일은 코딩테스트 with 파이썬 파트2. 구현] 문제 2) 치킨 쿠폰(Python)✔️문제 운동 중독 플레이어 ✔️해결코드 def solution(chicken): answer = 0 if chicken > 9: chicken = chicken - 10 answer = chicken // 9 + 1 else: answer = 0 return answer ⭐풀이 처음 서비스 치킨을 받을 때만 치킨 10마리가 필요하다. 그 이후에는 서비스 치킨에 있는 쿠폰이 있기 때문에 9마리만 있어도 된다. 처음 문제 푼 후 테스트케이스 1번에서 실패를 했는데 쿠폰 10개가 되지 않을 경우 서비스 치킨을 받지 못하는 경우였다. if문으로 9번만 주문 했을 경우 answer = 0으로 처리해줬다.
2023.11.01