문제 링크https://www.acmicpc.net/problem/10828문제 풀이 과정# 스택# 링크 : https://www.acmicpc.net/problem/10828from sys import stdininput = stdin.readlineclass Stack: def __init__(self): self.__stack = [] self.__size = 0 def empty(self): if not self.__stack: return 1 else: return 0 def size(self): return self.__size def push(self, item): ..
분류 전체보기
문제 링크 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 풀이 과정위 문제를 풀 때 두 가지 사항에 대해서 고려해서 문제를 풀어야겠다는 생각을 했다. 올바르지 못한 괄호가 나오는 경우는 크게 2가지로 나눠서 생각을 했다.처음부터 닫는 괄호가 나올 경우.괄호를 열었지만 개수만큼 닫지 않은 경우.위 2가지 사항을 고려해서 함수를 다음과 같이 구성하니 문제가 정상적으로 해결되었다.def solution(s): answer = [] # 1. 괄호가 열기 전에 닫는 기호가 나올 경우 if s[0] == ")": return False ..
특정 애플리케이션의 비즈니스 로직이 정상적으로 동작하기 위해서 여러가지 요건이 필요하겠지만, 그 중 하나는 올바른 입력값을 위한 유효성 검증이 필요하다. 제대로 된 입력값을 검증하지 않고 입력받게 된다면 의도치 않은 에러나 버그가 발생할 수 있고 데이터의 정확성인 일관성을 보장하기 어렵다.1. Spring Boot에서의 Validation자바에서는 javax.validation(혹은 jakarta.validation) 패키지에 정의된 Bean Validation API를 기반으로 하며 다양한 어노테이션 기반으로 필드 수준의 검증을 쉽게 수행할 수 있다. Spring Boot 에서는 이 Bean Validation의 구체적인 구현체로 Hibernate Validator를 검사 표준으로 채택해 사용하고 있다..
문제 링크 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 풀이 과정def solution(arr): answer = [] check_number = arr[0] for i in range(len(arr)): # 이전 숫자와 중복이라면 패스 # 이전 숫자와 같거나, 처음 값이 아니라면 if (arr[i] == check_number) and (i != 0): continue # 반복문을 순회하며 처음보는 숫자는 배열에 저장. answer.append(arr[i..
1. Stack이란?스택은 '쌓는다'라는 이름의 어원처럼 먼저 입력한 데이터를 제일 나중에 꺼내는 FILO(Last In, First Out)의 구조를 가진 자료구조를 의미합니다. 일상 생활에서도 많이 확인할 수도 있는 형태인데, 차례대로 쌓인 접시라던지 혹은 곽티슈에 담긴 휴지라던지 확인할 수 있습니다. 혹은 프로그램 내부에서도 이런 구조를 확인할 수 있는데 함수를 호출하게 되면 프로그램을 호출된 순서에 따라서 차곡차곡 저장하고, 함수가 종료될때마다 가장 나중에 호출된 함수부터 차례대로 해제됩니다.위 구조로 잘 이해가 가지 않는다면 아래와 같은 그림을 이해하면 더 쉽게 이해할 수 있습니다.. 예를 들어 어떤 데이터를 1, 2, 3 순서대로 넣었다면 가장 나중에 넣었던 3부터 차례대로 2, 1 순서로 꺼..
저는 짧은 2개월의 학습 후 개발 인턴으로 3개월 경험한 뒤에 이 코스에 들어온 어떻게 보면 특이 케이스였습니다.1. 항해 취업 리부트 코스를 선택한 이유사실 부트 캠프를 통해서 제대로 학습해보고 싶다는 생각도 있었지만, 대부분의 부트 캠프나 교육의 경우 반년을 기본적으로 끌고 가는 경우가 많기 때문에 시도해보기에는 망설여졌습니다. 마침 인턴 생활이 끝나고 시간이 점점 길어지니 기존에 공부했던 지식에 대한 기억도, 처음 개발 업무를 배웠을 때의 열정도 희미해져가던 시점에 항해 취업 리부트 코스에 대해서 알게 되었습니다.다른 과정과 달리 항해의 취업 리부트 코스를 매력적으로 느낀 부분은 다음과 같았습니다.10주 ~ 11주의 단기간 동안 몰입해서 집중할 수 있다.온라인 환경에서 현업에 계신 멘토 분들과 기술..
1. 이번 주 항해 취업 리부트코스에서 내가 구현한 기능원래대로라면 6주차에 구현해야했었던 기능이었지만 새로 배우는 과정이다보니 시간이 오래걸렸다. spring batch 기반 조회수 누적(일일, 주간, 월간)spring batch 기반 정산 금액 누적(일일, 주간, 월간)정산된 금액 API 형태로 전달.2. 이번 주 겪은 트러블슈팅문제와 원인로직 상에는 큰 문제가 없다고 생각했는데 ItemReader에서 제대로 읽어오지 못하고 NullPointerException 발생. @Bean @JobScope public Step monthlyVideoViewStatsStep( ItemReader videoViewStatsJpaPagingItemReader, I..
1. 이번 주 항해 취업 리부트코스에서 내가 구현한 기능동영상을 재생하는 기능동영상 재생 시 특정 조건(30초 이상 시청)을 달성할 경우 동영상에 대한 조회 수 증가.광고 추가동영상의 일정 플레이 시간 기준에 광고를 추가.광고를 시청 시 광고의 조회수가 추가.2. 해당 기능을 구현하기 위해 거친 기술적 의사결정통계 기능을 구현하면서 고민한게 일일 조회수를 어떻게 표현하는 지 고민함.일일 조회수를 view_count, created_at 형태로 테이블 컬럼으로 입력받아서 DB에 저장함.문제는 주간, 월간 조회수를 기록할 때는 DB에 값을 따로 저장하는 방법이 옳은지, 아니면 그 순간에 값을 계산 처리하는게 나은 지 고민.해결책 1 : 일일 조회수를 등록하는 테이블 자체를 일일 조회수가 아니라 특정 날짜를 ..