전체 글

포트폴리오
Algorithm

[Conc & Sol] 문자열에서 '최댓값'과 '최솟값'을 구하는 문제

▼ Why ? What ?1일 1알고리즘 스터디에서 "최댓값과 최솟값"이라는 문제를 풀었다. 문자열을 정수형으로 변환시키는 방법을 알면 쉽게 풀 수 있는 문제였다.▼ 알고리즘 문제 : "최댓값과 최솟값" 최댓값과 최솟값 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr [ 나의 해결 코드 ]class Solution { public String solution(String s) { String answer = ""; String[] nums = s.split(" "); int max = Integer.valueOf(nu..

Algorithm

[Conc & Sol] `HashMap`이 아닌 배열 인덱스를 사용하여 간단하게 문제를 해결하는 방법

▼ Why ? What ?1일 1알고리즘 스터디에서 "가장 많이 받은 선물"이라는 문제를 풀었는데, 요근래 풀었던 알고리즘 문제 중에 가장 시간이 오래 걸렸던 문제였던 것 같다. 문제가 그렇게 어렵지는 않았는데, HashMap을 여러 번 사용하다보니 코드가 복잡해져서 어떤 부분에서 NPE가 발생하는지를 찾는 데 시간이 오래 걸렸고, 복잡한 코드를 계속 보다보니 머리도 잘 안돌아갔던 것 같다.. 다른 사람의 해결 코드를 통해 HashMap에만 의존하지 않고 배열을 이용하여 더 간단하게 풀어낸 방식을 볼 수 있었다. 이 풀이 방식은 나중에 유용하게 활용해볼 수 있을 것 같아서, 해당 로직을 참고하여 코드를 다시 작성해봤다.▼ 알고리즘 문제 : "가장 많이 받은 선물" 가장 많이 받은 선물 프로그래머스코드 중..

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()`)들도 있어서 따로 정리해봤다.▼ 알고리즘 문제 : "신규 아이디 추천" 신규 아이디 추천 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합..