Algorithm

Algorithm

[Conc & Sol] 주어진 조건을 반복 체크하여 경우의 수를 처리하는 구현 문제

▼ Why ? What ?1일 1알고리즘 스터디에서 "붕대 감기"라는 문제를 풀었는데, 이 문제가 단순하진 않았어서 그런지 풀이 시간은 좀 오래 걸렸던 것 같다. 그래도 반례가 딱히 없고, 문제에서 제시한 것들을 그대로 구현해내면 문제없이 해결할 수 있는 문제인 것 같다. 첫 해결 코드도 문제에서 요구하는 답은 문제 없이 뽑아내지만, 단일 반복문으로도 처리할 수 있을 것 같아 코드를 리팩토링 해봤다. 매번 느끼지만 구현 문제는 문제에서 제시한 그대로 구현하려고 하기보단 내가 생각하기 편한 로직으로 바꿔 생각하는 것이 시간 단축에 많은 도움이 되는 것 같다.▼ 알고리즘 문제 : "1번 / 붕대 감기" [PCCP 기출문제] 1번 / 붕대 감기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. ..

Algorithm

[Conc & Sol] 문자열로부터 원하는 값을 뽑아내고 비교하는 문제

▼ Why ? What ?1일 1알고리즘 스터디에서 "개인정보 수집 기간"이라는 문제를 풀었는데, 문제를 해결하기 위한 키포인트를 찾는 것은 어렵지 않았지만, 반례를 찾기가 까다로웠고 `.`을 기준으로 문자열을 자를 때 주의할 점도 알아둬야 할 것 같아서 정리해봤다.▼ 알고리즘 문제 : "개인정보 수집 기간" 개인정보보 수집 기간 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr " . "을 구분자로 문자열을 자를 때 주의할 점정규 표현식에서 "."은 모든 문자를 의미하기 때문에, `String.spllit(".")`은 올바르지 않다 !➙ `String.spli..

Algorithm

[Conc & Sol] 문자열을 비교하여 최솟값을 찾는 문제

▼ Why ? What ?1일 1알고리즘 스터디에서 "바탕화면 정리"라는 문제를 풀었는데, 몇 가지 메서드만 사용하면 쉽게 해결할 수 있는 문제였다.▼ 알고리즘 문제 : "바탕화면 정리" 바탕화면 정리 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr [ 나의 해결 코드 ]class Solution { public int[] solution(String[] wallpaper) { int[] answer = new int[4]; int startX = 50, startY = 50, endX = 0, endY = 0; in..

Algorithm

[Conc & Sol] 정규 표현식을 이용한 문자열 처리 (cf. `replace()`, `replaceAll()`)

▼ Why ? What ?1일 1알고리즘 스터디에서 "신규 아이디 추천"이라는 문제를 풀었는데, 다소 많은 조건에 따라 문자열을 처리해야 하는 문제였다. 따라서, 복잡한 조건들에 따라 문자열을 처리하다보니 첫 번째 해결 코드가 난잡해진 경향이 있었는데, '정규 표현식'을 사용하니 간결하게 코드를 작성할 수 있었다. '정규 표현식'을 사용하는 것이 익숙하지 않기도 했고, 앞으로 문자열 처리 관련 문제가 나왔을 때 알고 있으면 좋을 만한 메서드(`replace()`, `replaceAll()`)들도 있어서 따로 정리해봤다.▼ 알고리즘 문제 : "신규 아이디 추천" 신규 아이디 추천 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합..

Algorithm

[Conc & Sol] 조건문(Switch문) 없이 String 배열로 경우의 수를 간단히 처리하는 방법

▼ Why ? What ?1일 1알고리즘 스터디에서 "데이터 분석"이라는 문제를 풀었다. 그리 어렵지 않은 문제였는데, 해결 과정에서 String 배열을 이용해서 경우의 수를 처리하는 방식은 기억해두면 좋을 것 같아서 정리해봤다.[ 추가 개념 정리 ][Java] 제네릭 타입(Generic Type)으로 기본형(Primitive) 배열 타입 사용 & 람다(Lambda) 표현식과 'effective final' 변수▼ 알고리즘 문제 : "데이터 분석" 데이터 분석 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 조건문(Switch문) 없이 String 배열로 경우..

Algorithm

[Conc & Sol] 시간 복잡도를 고려한 문자열 처리(cf. indexOf(), substring()) & Stack 없이 간단하게 배열로 해결하는 방법

▼ Why ? What ?1일 1알고리즘 스터디에서 "햄버거 만들기"라는 문제를 풀었다. 문제만 봤을 떈 단순한 문제였는데, 시간 초과가 나지 않는 방법을 찾다보니 푸는 데 꽤 오래 걸렸던 것 같아 해결 과정에서 알게 된 부분들을 정리해보려고 한다.▼ 알고리즘 문제 : "햄버거 만들기" 햄버거 만들기https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr [ 나의 실패 코드 ]이 문제는 보자마자 `Stack`을 사용해서 해결하는 문제라는 생각이 들었는데,..