알고리즘
-
프로그래머스 - 달리기 경주알고리즘 2023. 9. 18.
내 풀이 - 1 (시간초과) import java.util.*; class Solution { public Map swap(Map map, String call) { int call_idx = map.get(call); // System.out.println(call_idx); for(Map.Entry entry : map.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); // System.out.println(key +":"+ value); if(value == call_idx-1) { map.put(key, value+1); // System.out.println("change key: " + key); } if(..
-
프로그래머스 - 둘만의 암호알고리즘 2023. 2. 26.
내 풀이 public class P_47 { public String solution(String s, String skip, int index) { String answer = ""; for(char x : s.toCharArray()) { for(int i=0; i 122) { x = 'a'; } if(skip.contains(x+"")) { i--; } } answer += x; } return answer; } public static void main(String[] args) { // 둘만의 암호 P_47 p = new P_47(); String s = "aukks"; String skip = "wbqd"; int index = 5; System.out.println(p.solution(s, ..
-
프로그래머스 - 문자열 나누기알고리즘 2023. 2. 5.
내 풀이 단순히 문제에서 요구하는 내용을 그대로 읽어 내려가듯이 풀었다. 포인트는 첫 글자 세팅을 반복문 밖에서 하느냐 안에서 하느냐에 따른 방법의 차이 하나와 남은 글자 처리 방안이다. 나는 i 와 s의 길이 사이에서 범위를 벗어나게 되면 에러가 떨어지니까 에러가 떨어지지 않게끔 반복문을 제때 탈출하는게 중요하다. 그 방법으로 i가 문자열 s의 총 길이 보다 1글자수 적을때 answer을 증가 시키고 탈출 하는 것 이다. 문제에서 요구하는건 어차피 단어로 자르는 것이니까 문자열 s를 끝까지 돌릴 필요는 없는 것이다. public int solution(String s) { int answer = 0; int x_cnt = 0; int other_cnt = 0; char x = '0'; for(int i..
-
프로그래머스 - 콜라 문제알고리즘 2022. 11. 4.
https://school.programmers.co.kr/learn/courses/30/lessons/132267 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 public class P_44 { static int ans = 0; public int solution(int a, int b, int n) { if(n < a) { return ans; } int minus = (n / a) * a; int plus = (minus / a) * b; int empty = n - minus + plus; ans += plus; return solut..