전체 글177 [프로그래머스] 다음 큰 숫자 Java 풀이 Problem 다음 큰 숫자 Solution 주어진 조건을 만족하는 큰 숫자를 구하면 되는 문제이다. 1. 기존에 주어진 숫자를 Integer.toBinaryString() 함수를 사용해서 2진법으로 만든다. 2. 2진법에서 1의 숫자를 카운트한다. 3. 주어진 숫자를 ++하면서 위의 1,2번 방법을 반복하면서 1의 숫자가 같은 값을 찾는다. 4. 조건을 만족하는 값을 출력한다. class Solution { public int solution(int n) { int answer = 0; // 10진법을 2진법으로 만듬 String str = Integer.toBinaryString(n); int count = 0; // 주어진 조건의 1의 갯수를 카운트한다 for(int i = 0; i < str.le.. 2023. 4. 5. [프로그래머스] 성분으로 구분한 아이스크림 총 주문량 Problem 성분으로 구분한 아이스크림 총 주문량 Solution SELECT A.INGREDIENT_TYPE, SUM(B.TOTAL_ORDER) AS TOTAL_ORDER FROM ICECREAM_INFO A, FIRST_HALF B WHERE A.FLAVOR = B.FLAVOR GROUP BY A.INGREDIENT_TYPE ORDER BY B.TOTAL_ORDER 2023. 3. 30. [MySQL] ROUND() 반올림 함수 프로그래머스 SQL문제를 풀던 중 반올림을 사용할 일이 있어서 기록을 해본다. 반올림 ROUND() MySQL의 쿼리에서 반올림을 사용하려면 ROUND() 함수를 사용해야 한다. ROUND 함수는 지정된 숫자를 가장 가까운 정수로 반올림한다. "ROUND(숫자, 반올림할 자릿수)" 형태로 사용하면 된다. 반올림할 자릿수를 생략하면 기본값 0으로 설정된다. Ex) SELECT ROUND(1234.5678) FROM NUM // 1234 SELECT ROUND(1234.5678, 1) FROM NUM // 1234.6 SELECT ROUND(1234.5678, 3) FROM NUM // 1234.678 SELECT ROUND(1234.5678, -1) FROM NUM // 1230 SELECT ROUND(1.. 2023. 3. 30. [lombok] 자주 사용되는 어노테이션 Lombok 어노테이션 이번 포스팅에는 Lombok에 자주 사용되는 어노테이션에 말하고자 한다. 회사에서 안드로이드 개발을 하다가 API를 직접 수정하는 일을 겪으면서 @Getter, @Setter 등 다양한 어노테이션을 보면서 어노테이션에 대한 궁금증이 생겼다. @Getter @Setter @ToString @Builder @NoArgsConstructor @AllArgsConstructor public class Coffee { private String id; private String name; private int price; } 하나씩 파악해 보자 @Getter @Setter 이것은 아마 대부분 많이 알고 있을 것이다. 접근자 / 설정자를 자동 생성해주는 어노테이션이다. @Getter @Set.. 2023. 3. 16. [프로그래머스] 문자열 나누기 Java 풀이 Problem 문자열 나누기 Solution 문자열을 제일 먼저 첫 글자를 읽고 첫 글자와 다른 글자의 갯수가 같으면 문자열을 분리하고 다르면 갯수가 같아질 때까지 카운트하여 최종으로 나눠진 문자열 갯수를 구하는 문제이다. 1. 첫 글자가 나오는 횟수를 count, 다른 글자가 나오는 횟수를 diff로 선언하여 카운팅한다. 2. for문을 사용하여 s의 길이만큼 반복해주면 된다. 3. 첫 글자를 first에 넣고, 뒤에 글자를 temp에 넣은 후 같으면 count++ 다르면 diff++을 해주면서 count와 diff가 같아질 때까지 비교한다. 4. count와 diff가 같으면 first는 temp로 바뀌고 다시 answer++을 해준다. 5. for문을 다 반복한 후 answer을 리턴해주면 끝 ~ .. 2023. 3. 15. 플러터 (flutter) Enum 을 알아보자. Enum 이란, 이번 포스팅에는 최근 회사 프로젝트를 진행 중에 Enum을 사용고있지만 왜 사용하는지를 모르고 사용하다 보니 Enum에 대한 궁금증이 생겨서 Enum에 대하여 알아보려고 한다. Enum은 Enumerated Type으로 '서로 연관된 상수 값들의 잡합'이다 Enum의 등장 배경 복잡한 값 -> 단순한 값으로 변하지 않는 클래스 변수로 설정 Interface로 상수명 구체화 인스턴스 생성 등에서 문제점들을 해결하다보니 나온 것이 Enum이라고 한다. Enum의 문제점을 잘 설명해 준 블로그는 http://heepie.tistory.com/32 에 자세히 나와있다. Enum이 갖는 장점은 무엇일까? 문자열에 비해 IDE를 이용할 때 편리하다 허용 가능한 값을 제한 할 수 있다 리팩토링 시 변.. 2023. 3. 15. 플러터 (flutter) addPostFrameCallback과 Future.delayed 이번에 회사 프로젝트로 Flutter를 진행 중에 [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: 'package:flutter/src/widgets/scroll_controller.dart': Failed assertion: line 107 pos 12: '_positions.isNotEmpty': ScrollController not attached to any scroll views. 에러를 맞이하게 되었다. 그래서 이 문제를 해결하다가 addPostFrameCallback과 Future.delayed을 알게 되어 정리를 해본다. ScrollController not attached to any scroll views .. 2023. 3. 14. [프로그래머스] 대충 만든 자판 Java 풀이 Problem 대충 만든 자판 Solution 휴대폰 자판을 List에 저장하고 주어진 특정 문자열을 입력하여 키를 최소 몇 번 누르는지를 구하면 되는 문제이다. 1. List를 생성하고 keymap을 문자들을 List에 주소에 넣어주면서 중간에 키를 누르는 최솟값을 값으로 넣어준다. 2. 키보드 값을 List에 다 넣었으므로 targets에 있는 특정 문자열과 비교하여 키를 누르는 값을 구한다. 3. 만약 특정 문자열이 키보드 값 List에 없을 경우 answer에 -1을 넣어주고 break 해준다. (굳이 불필요한 뒷 작업을 할 필요 없도록) 4. 키를 누르는 최솟값을 answer에 저장하여 마지막에 answer을 출력해 준다. class Solution { public int[] solution(S.. 2023. 3. 13. 이전 1 ··· 18 19 20 21 22 23 다음 반응형