본문 바로가기

PS/프로그래머스26

[프로그래머스 *Java] - 거리두기 확인하기 https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 45분 이내 시간 내에 풀지 못했음. 로직 설계를 할 때, 너무 복잡하게 했던 부분도 있고 설계를 하는 도중에 10분이 넘어가니깐 마음이 급해져서 설계가 마무리되지 않은 상태에서 바로 구현에 들어갔음. 그러니, 완벽하지 않은 로직과 input Data 타입도 착각하고 코드를 구현해서 '맞왜틀' 하다가 시간이 끝남. bfs 를 간만에 풀어서 그런지, 머리가 굳었던 거 같음. imp.. 2022. 7. 13.
[프로그래머스 *Java] - 올바른 괄호 https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 30분 이내 스택을 이용하여, 스택에 가장 최근값을 확인해주면서 괄호 쌍이 맞을 때마다 pop을 해주고 최종적으로 스택에 자료가 남아있다면 올바르지 않은 경우고 스택이 비어있을 경우엔 올바른 경우라 생각하고 로직 구현을 했음. import java.util.*; class Solution { boolean solution(String s) { boolea.. 2022. 7. 13.
[프로그래머스 *Java] - 예상 대진표 https://school.programmers.co.kr/learn/courses/30/lessons/12985# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한 시간 : 45분 문제 접근을 잘못해서 시간 내에 풀지를 못했다. a와 b 값이 둘 다 n/2 값보다 클 경우를 고려하지 못해서 최종제출 때 절반만 맞게 뜨고 '맞왜틀' 하다가 시간만 지나갔다. 시간이 초과되어 질문하기를 찾아보고 이유를 알게되어 로직을 수정하였다. 로직 실패한 코드 class Solution { public int solution(int n, int a, int b) .. 2022. 7. 12.
[프로그래머스 *Java] - 게임 맵 최단거리 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 30분 이내 일반적인 탐색문제다. BFS 로 접근해서 풀었다. import java.util.*; class Solution { static int row, col; static class Point { int x; int y; int distance; public Point(int x, int y, int distance) { this.x = x; this.y = y; this... 2022. 7. 11.
[프로그래머스 *Java] - 가장 큰 수 (순열로 접근x -> 런타임 에러 발생) https://school.programmers.co.kr/learn/courses/30/lessons/42746# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한시간 : 30분 그냥 간단하게 생각을 했었다. 문제를 보고서 순열로 값을 만들어서 max 값 비교를 통해서 결과 값을 출력하려 했다.. 하지만? 일단 런타임 에러 발생으로 접근을 잘못했다고 판단하였다. 순열의 시간 복잡도는 n! 따라서 아래에 문제에서 언급한 길이 값을 순열로 만들 시? 최악의 상황은 100000! 이 나오게 된다. numbers의 길이는 1 이상 100,000 이하입니.. 2022. 7. 9.
[프로그래머스 *Java] - 더 맵게 https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한 시간 : 45분 (성공) 한 번 풀었던 문제고, 전에 풀면서 삽질을 굉장히 많이했던 문제라 빠르게 접근해서 풀었다. 전에 풀었던 방식은... ArrayList, List 를 가지고 정렬 후 제거, 삽입을 반복했는데 시간초과가 났고, 이후에 heap 문제인 걸 알고, 직접 heap 을 구현해서 풀었는데도 시간초과가 났었다. 우선순위 큐를 이용하면 내부 동작이 최대힙으로 구현되어 정렬되기 .. 2022. 7. 7.
[프로그래머스 *Java] - 기능개발 https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조건 제한 시간 45분 45분 이내에 풀지 못했다. 30분 전에 일단 문제를 풀긴 했지만, 계속해서 '맞왜틀 ' 루프에 빠져서 시간만 까먹다가 끝났다... 로직 설계를 잘했는데, 문제를 꼼꼼하게 읽지 않아, 로직 빈틈이 생겼었다. 기능이 앞에 있는 기능보다 먼저 개발될 수 있을 때, 기능 앞에 있는 기능 배포될 때 함께 배포된다는 이 말을 무조건 뒤에 있는 작업 수행 시간(초)를 비교를 해줘서 틀.. 2022. 7. 5.
[프로그래머스 *Java] - 124 나라의 숫자 https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 조건 제한 시간 : 1시간 이내 한 번 풀었던 문제였다. 처음 풀 때는 시간을 넉넉히 잡고 푸는 데에만 초점을 두고 풀어서 풀긴 했다. 규칙을 찾기 위해서 계속 써 내려가면서 접근을 했고, 결국 풀었다 이번에는 시간 제한을 두고 풀었다. 하지만, 시간내에 풀지 못했고 접근방식이 잘못 됐었다. 예외처리 해줘야하는 상황이 많아져서 그만 풀고 기존에 풀었던 내 방식을 다시 참고했다. 실패했던 접근방식은 HashMap 을 가지고 10진법을 3진법으로 변환 한 뒤? 각 숫자를 String.charAt 을 통하여 값을 하나씩 뽑아와서 hs.pu.. 2022. 7. 4.