본문 바로가기

Algorithm/Programmers6

[Java | programmers] 정규표현식(regex) 해당 포스팅은 https://school.programmers.co.kr/learn/courses/11/11-%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D 에서 학습한 내용을 토대로 작성합니다. 인프런에서 자바 알고리즘 문제중 문자열 관련 강의를 수강하다가 replaceAll 메소드를 사용하는 모습을 보았고 이때 정규식에 무지한 나는 정규식을 학습 할 필요가 있다고 생각하여 이 포스팅을 작성하게 되었다. 정규표현식(regex)이란? 텍스트에서 원하는 조건과 일치하는 문자열을 찾아내거나 원하는 조건과 텍스트가 일치하는지 참/거짓 여부를 판단하는 등의 상황에 사용된다. 예를 들어, 여러 사람이 있는 경우 이름이 a로 시작하는 사람을 찾아내거나, 사용자가 입력한 문자열이 이.. 2023. 3. 13.
[프로그래머스|최대공약수와 최소공배수] 유클리드 호제법 본인 풀이 class Solution { public int[] solution(int n, int m) { int[] answer = new int[2]; answer[0] = getGCD(n,m); answer[1] = (n * m) / (answer[0]); return answer; } public static int getGCD(int n, int m){ if(n % m == 0){ return m; } return getGCD(m,(n%m)); } } 풀이법 유클리드 호제법 2개 수의 최대 공약수를 구하는 알고리즘 자연수 a, b에 대해서 a%b의 결과를 r이라고 한다면 a, b의 최대공약수와 b, r의 최대공약수는 같다. 이 성질을 이용하여 a, b를 나눈 나머지 r을 구하고 b, r을 나눈.. 2022. 8. 31.
[프로그래머스|숫자 문자열과 영단어] replaceAll 함수 나의 해설 import java.util.*; class Solution { public int solution(String s) { int answer = 0; String[] words = {"zero","one","two","three","four","five","six","seven","eight","nine"}; int[] integers = {0,1,2,3,4,5,6,7,8,9}; StringBuffer sb = new StringBuffer(); ArrayList temp = new ArrayList(); // answer로 바꿀 list String[] s_array = s.split(""); for(String string : s_array){ try{ int k = Integer.par.. 2022. 8. 29.
[프로그래머스] 모의고사 작성날짜: 2021/08/13 작성언어: Java 문제설명 ​ 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에.. 2022. 8. 9.
[프로그래머스]Level2 주식가격<java> 문제 https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 문제 풀이 .java import java.util.*; class Solution { public int[] solution(int[] prices) { int[] answer = {}; List answers = new ArrayList(); for (int i = 0; i < prices.length; i++).. 2022. 2. 18.
[프로그래머스]Level2 기능개발 <java> 문제 : https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 내가 짠 코드 (.java) import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { int[] answer = {}; int count = 1; int cur = 0; List days = new ArrayList(); List answ.. 2022. 2. 18.