일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 배열
- 해결
- 구름LEVEL
- 구현
- 스타트업
- 백엔드
- IntelliJ
- spring
- 명령어
- 프로그래머스
- Linux
- 코딩테스트
- HTTP
- bfs
- 자료구조
- Java
- dfs
- 해시맵
- 스프링 부트
- 개발자
- HashMap
- 인텔리제이
- 이직
- docker
- 스프링
- 문자열
- 스프링부트
- spring boot
- 도커
- 주니어
- Today
- Total
목록구현 (14)
마이의 개발 블로그
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 1사분면의 4분원 안에서 k값에 따라 찍을 수 있는 점의 개수를 모두 구하는 문제이다(원과 관련된 식을 전혀 몰라도 해결 가능). 직관적인 방식은 최초 접근처럼 이중 for문을 사용하여 각 x, y 좌표가 0, 0 으로부터 d 이하의 거리에 위치해있는지를 체크하는 것인데 이럴 경우 시간초과가 나게된다. 탐색을 한 번만 하여 문제를 해결하려면 각 x좌표에 대해 최대 y좌표값을 구하면 된다. 최대 y를 maxY라고 지칭한다면 피타고라스의 정리에 의해 x^2 + maxY^2 = d^2 이므로 maxY 값..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 단순 구현 문제로 금방 해결할 줄 알았으나 케이스 예외처리를 제대로 해주지 못해 애를 먹었던 문제이다. 문제에도 적혀있듯 이동 명령을 수행하며 범위를 벗어나는지 여부와 지도에서 'X'로 막혀있는지 여부의 두 가지 조건만 체크하면 되는 문제인데, 동서남북 각 방향에 따른 예외 처리와 반복문 처리가 각각 달라 길게 작성된 코드를 짧게 처리하는데 애를 먹었다. 더 짧게 하고싶은데 다른 사람들 코드도 길이가 비슷한 걸 보니 어쩔 수 없는 문제였던 것 같기도 하다. 로직 설명 - 시작점 찾기: 문자열 "S"..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 주어진 이름들에 추억 점수를 매치시킨 후, 사진들을 보며 주어진 이름들에 해당하는 인물이 있는 경우에만 점수를 가산하여 각 사진별 점수를 매기면 되는 간단한 문제이다. 특별한 예외사항은 없었다. 로직 설명 - 사진의 개수만큼 답변 배열 초기화 - 이름과 추억점수를 매치시킬 map 선언 후 이름(name)에 해당하는 점수(yearning) map에 집어넣기 - 각 사진(photo[i])에 있는 이름(str)을 탐색하며: 1) map에서 해당되는 이름을 찾아 추억 점수를 sum에 가산 (없는 경우 0점..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 문자열을 처리하여 x항의 계수와 상수 합의 결과값을 구하면 되는 비교적 간단한 문제이다. 더하기만 고려하면 되고 항의 순서가 뒤바뀌는 일도 없어 예외처리할 거의 없었다. 한 가지, x가 1일 경우 1x가 아닌 x로 반환해야한다는 점을 고려하지 못해 중간에 시간이 좀 걸렸다. 로직 설명 - "+" 문자열을 기준으로 split()하여 strArr에 저장 - 계수와 상수를 저장할 int[] count 선언 - strArr에 저장된 각 항을 탐색하며: 1) x항인 경우, x를 없앤 나머지 숫자를 count..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 달리기를 하며 이름이 불리는 선수와 그 선수의 바로 앞에 있는 선수의 순위(위치)를 바꾸어주면 되는 문제이다. 범위를 벗어나는(1등 선수) calling 은 없으므로 별도의 순위변경에 대한 예외처리는 필요없었다. 다만 복잡도를 줄이기 위해 이중 반복문을 통한 탐색이 아닌 해시맵을 활용한 탐색 및 등수의 변경으로 로직을 만들어야했다. 인풋값이 각각 50,000과 100,000이였기 때문이다. 로직 설명 - 선수들의 순위를 이름으로 바로 접근할 수 있도록 map을 선언하여 이름과 순위를 key, val..