개발자모임

안녕하세요. delay100 입니다!미들러 문제1번. 스케이트연습  https://www.acmicpc.net/problem/28324문제에서 주어진 조건은 아래와 같습니다. 시작지점 -(0의 속력)> 0, 1, 2, 3 ... N -(0의 속력)> 도착지점각 중간 지점에는 속력 제한 Vi가 존재속력up: 원하는 만큼 증가 가능속력down: 마지막으로 방문했던 지점에서의 속력에서 -1만큼만 감소 가능출발지점, 도착지점을 제외한 위치는 속력이 0이 될 수 없음속력을 변경하지 않고 그대로 유지하는 것도 가능구하고자 하는 것 : 각 지점에서의 속력의 합의 최대치V[2, 3, 1] => 2+2+1 = 5V[23, 7, 1, 5] => 3+2+1+1 = 7결국 마지막에 속력 0에 도달해야하므로 가장 뒤의 inde..
안녕하세요. delay100 입니다!오늘도 9시부터 11시까지 진행되는 정기세션에 참가했어요.11시가 거의 다될도록 1번 시간초과를 해결을 못해서.. 채팅으로 어려움을 호소했더니"커띵"님께서 미들러문제 1번을 화면공유로 알려주셨어요ㅠㅠ 미들러 문제1번. 숫자 변환하기https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1-1. 실패 코드 - 시간초과단순히 bfs를 돌려 +n, *2, *3하는 모든 경우의 수를 찾게 되어 시간 초과가 발생합니다.이미 도..
안녕하세요. delay100 입니다!미들러 문제1번. 치킨배달  https://www.acmicpc.net/problem/15686 1-1. 실패코드 - 시간초과package club99;import java.io.*;import java.util.*;public class p15686 { static int N, M, chickenIdxLength; static int[] chickenIdx, selectedChickenIdx, homeListIdx; static boolean[] visitedChickenIdx; static int[][] list; static boolean[][] isVisited; static int min = Integer.MAX_VALUE; public static void ..
안녕하세요. delay100 입니다!미들러 문제1번. 플러그 https://www.acmicpc.net/problem/2010콘센트 1개마다 꽂을 수 있는 콘센트 가능 수가 1개씩 줄어듭니다.따라서 매 콘센트마다 -1을 해주고, 마지막 콘센트는 컴퓨터를 연결하면 되므로 다시 +1을 해주면됩니다.import java.io.*;public class Main { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWrite..
안녕하세요. delay100 입니다!미들러 문제1번. 동물원 https://www.acmicpc.net/problem/1309dp로 풀어줍니다. 2차원 배열을 사용했습니다.list[i][0] = 아무곳에도 사자를 넣지 않는 경우의 수list[i][1] = 왼쪽에만 사자를 넣은 경우의 수list[i][2] = 오른쪽에만 사자를 넣은 경우의 수각각 i번째에 각각 경우의 수를 갱신해줍니다.배열의 내부 값이 매우 커지기 때문에 연산 시 %9901을 계속 해주었습니다.import java.io.*;public class Main { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(ne..
안녕하세요. delay100 입니다!미들러 문제1번. 타일 채우기 4 https://www.acmicpc.net/problem/15700타일 하나당 바닥의 크기를 반으로 나누면, 타일이 차지하는 격자의 수를 계산할 수 있습니다. 이때 바닥의 크기는 a * b 이므로, (a * b) / 2 가 타일을 놓을 때 필요한 격자의 수입니다. 만약 직사각형 바닥면에 21 크기의 타일을 가로로 놓는다고 가정하면, 타일이 놓이는 위치에 따라서 가로로 놓인 타일은 항상 두 개의 격자에 걸치게 됩니다. 그리고 세로로 놓일 때에도 마찬가지로, 타일 하나당 바닥면의 크기를 나눈 것의 반만큼이 격자에 걸치게 됩니다. 이를 통해 (ab)/2 공식이 나오게 됩니다.import java.io.*;import java.util.*;p..
안녕하세요. delay100 입니다!오늘도 세션 내에 문제를 다 풀지 못했습니다... ㅠㅠ 11시 41분에 겨우 마쳤네요..미들러 문제1번. n^2 배열 자르기https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 실패코드 - 실패 & 시간초과 & 런타임에러 2중 for문을 이용한 풀이입니다. 실패코드이니 따라하지는 마세요사실 풀면서도 시간복잡도 관련 문제가 발생할 것이라 예상은 됐지만.. 그래도 풀이한 방법을 적어두겠습니다. 풀이 방법은 n번만큼 ..
안녕하세요. delay100 입니다!미들러 문제1번. 나이 계산하기  https://www.acmicpc.net/problem/16199만, 세, 연나이를 구하는 문제입니다. 1. 만 나이 = (기준일을 숫자로 변환 - 생일을 숫자로 변환) / 1년 일 수1~12월까지 매달 31일까지 있다고 가정했습니다. (문제에서 주어진 값이 없기 때문에 가능)1달 = 31일1년 = 12개월 * 1달(31일) = 372일 예를들어,생일이 2023년 4월 5일이면 년도를 일로 변환 시년) 2023*12(개월)*31(1달) = 752,556일월) 4*31(1달) = 124일일) 5일생일 총합 = 752,685일 기준일이 2024년 4월 5일이면  년도를 일로 변환 시년) 2024*12(개월)*31(1달)  = 752,92..
안녕하세요. delay100 입니다!미들러 문제1번. 연속 부분 수열 합의 개수https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 문제를 해결하기 위해서는 아래의 문장을 떠올려야합니다..(필자도 생각하지 못했음)elements[(i + j) % elements.length]i + j 값을 배열 길이의 값으로 나눈 나머지를 index로 사용해 elements 배열 값을 구합니다.구한 elements 배열 값을 sum에 추가하여 부분합을 구해줍니다.위..
안녕하세요. delay100 입니다!미들러 문제1번. N개의 최소공배수https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 문제는 유클리드 호제법을 사용하면 됩니다.그러나 필자는 유클리드 호제법에 대해 말만 들어봤지 실제로는 잘 몰랐습니다.그래서 유클리드 호제법을 먼저 검색해보았고, 최대 공약수(+ 최소공배수)를 구해야하는 문제에서 쓰는 방식인 것을 알게 되었습니다.유클리드 호제법은 최대 공약수를 구할때 쓰는데, 이렇게 구한 최대 공약수로 최소공배수까..
delay100
'개발자모임' 태그의 글 목록