GitHub

https://github.com/Choidongjun0830

전체 글 444

[프로그래머스] 369게임

369게임 문제 설명 머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요. def solution(order): answer = 0 str_order = str(order) nine = str_order.count("9") six = str_order.count("6") three = str_order.count("3") answer = nine + six + three return answer

[프로그래머스] 가까운 수

가까운 수 문제 설명 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. def solution(array, n): answer = 0 min = 100 for i in array: gap = abs(n-i) if min > gap: min = gap answer = i elif min == gap: if answer > i: answer = i return answer문제 조건에 수가 최대 100이라서 min을 100으로 두었다.

[프로그래머스] 컨트롤 제트

컨트롤 제트 문제 설명 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요. def solution(s): answer = 0 inputs = list(s.split()) N = len(inputs) for i in range(N): if inputs[i] == "Z": answer -= int(inputs[i-1]) else: answer += int(inputs[i]) return answer 처음에 isdigit()로 문자가 숫자인지 판별해서 하려고 했는..

메시지, 국제화

message.properties파일에 hello=안녕 hello.name=안녕 {0} label.item=상품 label.item.id=상품 ID label.item.itemName=상품명 label.item.price=가격 label.item.quantity=수량 page.items=상품 목록 page.item=상품 상세 page.addItem=상품 등록 page.updateItem=상품 수정 button.save=저장 button.cancel=취소 이와 같이 적고 html 파일에는 상품명 이처럼 #을 이용하여 변수명을 넣어주면 알아서 상품명을 넣어준다. 만약 영어권에서 접속을 했다면 message_en.properties에 적힌 대로 스프링부트가 알아서 바꾸어준다.

Spring 2024.01.01

thymeleaf-1

상품명 ... html의 checkbox는 체크를 하지않으면 null이 되는 문제 발생. 체크를 하지않으면 아예 데이터를 넘기지 않음. 수정의 경우에 체크박스를 해제하고 넘기면 아무런 값을 넘기지 않기 때문에 수정이 되지 않을 수 있다. 판매 오픈 체크를 해제한 경우 _open만 전송되는데, 이 경우 스프링 MVC는 _open만 있는 것을 확인하 체크를 해제했다고 판단한다. 그러면 null이 아니라 False로 찍힌다. thymeleaf에서 판매 오픈 th:field="*{open}"을 추가하면 thymeleaf에서 _open 자동생성. 위와 동일한 결과! @ModelAttribute("regions") public Map regions() { Map regions = new LinkedHashMap()..

Spring 2023.12.31

로깅

운영 시스템에서는 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력한다. 로깅 라이브러리 스프링 부트 라이브러리를 사용하면 스프링 부트 로깅 라이브러리( spring-boot-starter-logging )가 함께 포함된다 @RestController public class LogTestController { private final Logger log = LoggerFactory.getLogger(getClass()); @RequestMapping("/log-test") public String logTest() { String name = "Spring"; log.trace("trace log={}", nam..

Spring 2023.12.24

Spring MVC-2

@Controller public class SpringMemberFormControllerV1 { @RequestMapping("/springmvc/v1/members/new-form") public ModelAndView process() { return new ModelAndView("new-form"); } } @Controller : 스프링이 자동으로 스프링 빈으로 등록한다. (내부에 @Component 애노테이션이 있어서 컴포넌트 스캔의 대상이 됨), 스프링 MVC에서 애노테이션 기반 컨트롤러로 인식한다(RequestMappingHandlerMapping에서 ). @RequestMapping : 요청 정보를 매핑한다. 해당 URL이 호출되면 이 메서드가 호출된다. 애노테이션을 기반으로 동작하기..

Spring 2023.12.24

MVC 프레임워크 / Spring MVC-1

FrontController 패턴 특징 ㆍ프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음 ㆍ 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출 ㆍ 입구를 하나로! ㆍ 공통 처리 가능 ㆍ 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨 => 불필요한 반복이 줄어듦 Spring MVC에서는 Front Controller가 Dispatcher Servlet임 요청 흐름 ㆍ 서블릿이 호출되면 HttpServlet 이 제공하는 serivce() 가 호출된다. ㆍ 스프링 MVC는 DispatcherServlet 의 부모인 FrameworkServlet 에서 service() 를 오버라이드 해두었다. ㆍ FrameworkServlet.service() 를 시작으로 여러 메서드가 호출..

Spring 2023.12.21
728x90