본문 바로가기

java37

[프로그래머스] 문자열 나누기 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.
[프로그래머스] 대충 만든 자판 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.
[프로그래머스] 둘만의 암호 Java 풀이 Problem 둘만의 암호 Solution 소문자로만 이루어진 문자열이 s로 주어지고 index 만큼 밀어주는데 skip에 있는 알파벳은 제외하고 건너뛴 다음 최종적인 String을 반환해 주면 되는 문제이다. 1. s 를 char로 변환한다. 2. 변환된 char을 한번 밀어준 후 z보다 큰지 비교 후 z보다 클 시 알파벳의 개수만큼 26을 뺀 후 a로 만든다. 3. skip에 포함되어 있는지 체크해 준다. 3 - 1. 만약 포함되어 있으면 카운트를 시키지 않고 다시 한번 밀어준다. 3 - 2. 포함되어 있지 않으면 카운트를 시키고 index 범위만큼 2번과 3번을 반복한다. 4. 2번째 for 문을 나온 char을 answer에 저장한다. 5. 이렇게 s의 범위만큼 1 ~ 4번을 반복하면 답이 나온다.. 2023. 3. 9.
[LeetCode - Data Structure II] 136. Single Number Problem Given a non-empty array of integers nums, every element appears twice except for one. Find that single one. You must implement a solution with a linear runtime complexity and use only constant extra space. Example 1: Input: nums = [2,2,1] Output: 1 Example 2: Input: nums = [4,1,2,1,2] Output: 4 Example 3: Input: nums = [1] Output: 1 Constraints: 1 2022. 11. 6.
MVVM패턴 이번에 인턴을 준비하는 과정에서 MVVM패턴을 사용하는 회사가 있어서 MVVM패턴을 알아보고자 한다. MVVM패턴이란, MVVM 패턴은 마틴 파울러의 Presentation 모델 패턴에서 파생된 디자인 패턴입니다. MVVM 패턴의 목표는 비즈니스 로직과 프레젠테이션 로직을 UI로부터 분리하는 것입니다. 비즈니스 로직과 프레젠테이션 로직을 UI로부터 분리하게 되면, 가독성, 테스트, 유지 보수, 재사용이 쉬워집니다. 1) 구조 Model Model은 사용하려는 데이터를 가지고 있는 비시각적 클래스. 따라서 모델은 일반적으로 비즈니스 및 유효성 검사 논리와 함께 데이터 모델을 포함하는 앱의 도메인 모델을 나타내는 것. 일반적으로 데이터를 액세스하거나 캐싱이 필요한 서비스 또는 리포지토리와 함께 사용. Vie.. 2022. 3. 7.
반응형