목록Algorithm/알고리즘 (19)
개발일기
https://school.programmers.co.kr/learn/courses/30/lessons/12903 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public String solution(String s) { StringBuilder answer = new StringBuilder(); if(s.length()%2==0){ int index = s.length()/2; answer.append(s.substring(index-1, index+1)); }else { int in..
https://school.programmers.co.kr/learn/courses/30/lessons/70128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나도 이제는 람다식으로 최대한 풀어보려고 한다. Solution.class import java.util.stream.*; class Solution { public int solution(int[] a, int[] b) { return IntStream.range(0, a.length).map(i -> a[i] * b[i]).sum(); } } 람다식으로 풀어보았으며 IntStream을 통해서 ..
https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제풀이 가장 우선적으로 HashMap을 사용해서 풀어야겠다고 결정하였다. 여기서 이러한 결정을 하게 된 계기는 각각의 R, T, C, F를 정렬 단어별로 정렬해주어야 된다고 판단하였고 점수가 없다면 그러한 이유에서 HashMap을 선택하게 되었는데 그렇게까지는 할 필요가 없었음. 이것에 대한 자세한 이유는 아래에서 설명하겠다. 2. survey에서 들어온 각각의 값들을 charAt을 통하..
https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해당 문제는 그리 어려운 문제는 아니였다. 하지만 한바퀴돌고 또 한바퀴를 돌 수 있는점 즉, 두바퀴까지도 가능하다는 점을 인지못하여 RuntimeException이 발생하였다. 실패코드를 봐보자..! 이를 인식했으면 더 빨리 풀었을텐데 아깝다. 해당 문제는 내가 멘토로 활동하고 있는 곳에서 많은 수강생분들이 프로그래머스를 풀고 있는거 같아 혹시 모르는 마음에 나도 풀고 있다. class Solu..

https://school.programmers.co.kr/learn/courses/15008/lessons/121685 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr package src.Week6.ProgrammersBean; public class Bean { static String[] popList = {"RR", "Rr", "Rr", "rr"}; public static void main(String[] args) { int [][] problems = {{3,5},{3,8}}; for(String str : solution(problems))..
https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net 1. Deque를 이용하여 문제를 풀었다. 2. 슬라이딩 윈도우 문제였음. 3. 처음에는 Deque를 사용하지 않고 for문을 이중for문을 사용하여 2개 돌렸지만... 시간초과가 나서.. 다른 사람 코드를 참고하였다. 나중 이중 for문을 해당 슬라이딩으로 제한주어 전체다 for문을 안돌게 시간복잡도를 구현해주었지만, for문 안되는거 같다. package src..
https://www.acmicpc.net/problem/1148 package src.Week8.Baekjoon1148; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; import java.util.Set; public class Baekjoon1148 { static int MAX_COUNT= 200000; static int A_TO_Z = 26; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new Inp..
문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 phone_number는 길이 4 이상, 20이하인 문자열입니다. 입출력 예phone_numberreturn "01033334444" "*******4444" "027778888" "*****8888" class Solution { public String solution(String phone_number) { int length = phone_number.length(); StringBuilder sb = n..