본문 바로가기

알고리즘

(70)
프로그래머스 - 숫자야구 https://programmers.co.kr/learn/courses/30/lessons/42841 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 숫자야구 문제입니다. 숫자야구 문제의 특성은 3자리의 숫자 중에서 중복되는 숫자가 있으면 안됩니다. 3자리 숫자 중 중복되는 수는 조건에 맞아도 flag를 통해 정답의 개수로 올리지 않았습니다. 그 외에는 그냥 문제서 주어진 조건대로 수행할 수 있도록 조건 분기를 주어서 풀이하였습니다. package com.company; public class numberBaseball { static clas..
프로그래머스 - 카펫 https://programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 규칙을 찾아서 문제를 풀었고 제가 세운 점화식은 아래와 같습니다. brown = (a+b) * 2 - 4 입니다. brown의 값은 문제에서 주어지고 a와 b의 값을 찾으면 되는 문제입니다. a와 b의 값은 red+brown의 약수에서 찾을 수 있습니다. package com.company; public class carpet { static class Solution { public int[] solutio..
프로그래머스 - 소수찾기 https://programmers.co.kr/learn/courses/30/lessons/42839#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 소수찾기 문제를 풀었습니다. 테스트케이스 4번이 에러가 나서 정답은 아니지만 더 이상 이 문제를 풀기 싫기 때문에 포스팅하고 추후에 다시 한번 풀어보겠습니다. 이 문제를 처음 접하고는 문제의 풀이 순서를 아래와 같이 정하였습니다. 1. 나올 수 있는 모든 순열을 만들기 2. 순열에 대한 소수 판별을 적용 3. 11 == 011이므로 이와 같은 맨 앞의 0이 들어가는 숫자 처리 순열을 만드는..
프로그래머스 - 모의고사 https://programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완전 탐색 문제로 문제에 적혀있는 대로 구현하려고 했습니다. 많이 부족한 코드인것 같습니다. 요즘 주일에 바빠서 공부를 못하였는데 다시 마음 다잡고 열심히 해보겠습니다. import java.util.*; public class Solution { public int[] solution(int[] answers) { ArrayList list = new ArrayList(); int[][] arr = new ..
프로그래머스 - 오픈채팅방 https://programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오픈채팅방 문제를 풀었습니다. 아무래도 이 문제의 키 포인트는 hashmap을 바로 떠올리냐라고 생각을 하고 처음에는 문제를 헤매었는데 아마 저처럼 헤매시는 분들도 많을 것 같아서 틀린 소스와 정답 소스를 같이 올려서 비교해보겠습니다. 처음에 짠 틀린 코드 해시맵을 사용하려고 한 생각은 맞았지만 hashmap의 id와 nickname을 저장하는 과정을 한 번에 진행하려다 보니까 문제가 꼬였습니다. 이 풀이처럼..
프로그래머스 - 캐시(성공) https://programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 30분 전에 포스팅하고 제가 지금까지 한 코드 다 삭제하고 새롭게 풀었습니다... 놀랍게 30분만에 다 풀었네요 저도 신기합니다ㅋㅋ 아래는 문제 풀이입니다. 처음에는 큐로 풀면 되겠다 싶어서 큐로 시도해보았는데 큐에서는 indexOf라는 함수를 지원 안 해주더라고요. 그래서 구글링 한 결과 LinkedList를 쓰고 remove(0)을 하게 되면 큐랑 똑같은 팝이 된다는 말을 듣고 바로 LinkedList로 ..
프로그래머스 - 캐시(실패) https://programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 음.. 말도 안되게 이상하게 푼 것 같아서 다시 풀러 갈겁니다... 95점이에요 그리고 ㅜ import java.util.*; class Solution { public int solution(int cacheSize, String[] cities) { int answer = 0; int idxOf = 0; int idx = 0; int min = 0; int cacheCount = 0; int[] cache..
프로그래머스 - 뉴스 클러스터링 https://programmers.co.kr/learn/courses/30/lessons/17677# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내일 출근인데 이 문제 푸느라.. 새벽 2시까지 잠을 못잤네요 ㅠㅠ 생각했던 방식은 맞았는데 문법을 몰라서 문자열 파싱에 어려움 겪었고.. 다 옳게 풀었다고 생각했는데 틀려서 이유가 무엇인지 문제 다시 봤더니.. 엄청난 실수를 했습니다. 먼저 공백이랑 특수문자를 제거한 후에 문자열을 2개씩 잘라 붙였는데 그것이 아니라 문자열을 먼저 2개씩 잘라 붙이고 거기에 공백이나 특수문자가 포함된다면 버리는 방식이더군요..