코딩테스트
[프로그래머스]두 개 뽑아서 더하기 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/68644 풀이 Level 1 문제임 엄청 쉬운 완전 탐색 문제인 듯?? 숫자 두개를 뽑아서 더하면 같은 결과가 나올 수 있는데 문제를 보면 같은 결과는 같다고 판단하는 것을 알 수 있음. 그래서 Set에다가 추가했는데, Set을 List로 바꿔서 배열을 선언 후에 차례대로 배열에 넣어줬음. 근데 List answerList = answerSet.stream().toList(); 이 문법(stream().toList())은 프로그래머스에서 아직 지원을 안하는 듯? 그래서 for (int temp : answerSet) { answerList.add(temp); } 이렇게 List에 넣어줬음! 자세..
[프로그래머스]소수 만들기 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 1 문제임 문제를 보자마자 dfs로 풀었는데 풀고 보니까 제모옥..은... 완전 탐색으로 하겠습니다... 근데 이제,, dfs를 곁들인! 이 되어 버렸네요? 자세한건 주석으로 ! 코드 // 코딩테스트 연습 - Summer/Winter Coding(~2018) - 소수 만들기 // https://school.programmers.co.kr/learn/courses/30/less..
[프로그래머스]햄버거 만들기 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level 1 문제인데, 생각보다 시간초과에 걸려서 오래 걸림,,, ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ stack으로도 풀 수 있었을 것 같은데, 고집이 생겨서 어떻게든 String으로 풀려고 했음 String.replace("1231", "")은 1231을 다 한번에 바꾸는 거라 오답 String.replaceFirst("1231", "")은 시간초과나서 통과 못함 StringBuilder랑 St..
[프로그래머스]할인 행사 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level2 문제 1. 자료구조를 잘 정해서 풀어야 할 것 같음 2. 로직을 반복할 때 다시 자료구조를 잘 초기화 시켜줘야 함 나같은 경우에는 Map을 사용해서 풀었음 그리고 .clone() 함수를 사용해서 초기화 시켜줬음 자세한건 주석으로 ! 코드 // 코딩테스트 연습 - 연습문제 - 할인 행사 // https://school.programmers.co.kr/learn/courses..
[프로그래머스]전력망을 둘로 나누기 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Level2 문제임 그래프 문제를 잘 해결하지 못하는 편이라 겁먹고 시작했지만 풀었다 그래도 ㅎㅎㅎ 내 생각에 포인트는 1. 그래프를 어떤 자료구조로 표현할 것인가 2. 전력망이 끊긴 것을 어떻게 표현할 것인가 3. 전력망을 끊은 후 각각의 전력망에서의 송전탑의 개수를 어떻게 셀 것인가 인 것 같다 1번의 경우, 처음엔 ArrayList 구조로 했는데 get(), indexOf(), r..
[프로그래머스][1차]캐시 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 걍 보자마자 큐가 생각나서 한 10분 컷일 줄 알았는데 풀어보니까 의외로 생각할게 하나둘씩 더 있었음 ㅎㅎㅎㅎ 캐시에 있는 도시를 검색하면 그 캐시에 검색된 도시명이 제일 최근으로 올라와야됨! 그러려면 중간에 있는 도시를 삭제하고 다시 새로 추가해주면 되는데, 큐를 사용하면 중간에 있는 도시를 삭제하지 못하기 때문에 ArrayList를 사용했음 캐시의 크기가 0인 경우는 따로 예외로 두..
[프로그래머스]이진 변환 반복하기 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 쉬운 문제임 근데 보니까 전에도 풀었더라고 ㅎㅎ 문제 잘 읽고 그대로 풀면 됨 다 풀고 전에 풀었던 코드 보니까 s = s.replace("0", ""); 이렇게 문자열 함수 사용했던데 이렇게 하는게 시간도 더 빠르고 코드 길이도 짧을 듯함 ! 자세한건 주석으로 ! 코드 // 코딩테스트 연습 - 월간 코드 챌린지 시즌1 - 이진 변환 반복하기 // https://programmers.c..
[프로그래머스]N개의 최소공배수 - Java
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 쉬운 문제임 다른 사람보니까 유클리드 호제법으로도 풀었던데 나는 다른 방법으로 풀었음 ! 배열을 정렬해서 가장 큰 수를 뽑아준 다음에 걔를 기준으로 배열을 돌면서 모두의 최소공배수가 맞는지 확인했음! 그리고 그 뽑아준 애를 1배, 2배, 3배, ... 하면서 모두의 최소공배수를 구할 때까지 숫자를 증가시켜줌 자세한건 주석으로 ! 코드 // 코딩테스트 연습 - 연습문제 - N개의 최소공배..