본문 바로가기

알고리즘112

[백준 1072 / 게임 / JAVA / 이분 탐색] https://www.acmicpc.net/problem/1072 1072번: 게임 김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시 www.acmicpc.net 문제 접근 다른 건 어렵지 않게 해결했으나 승률을 지정하는 방법에서 막혔다. 처음에 승률을 지정할 때 (double)Y / (double)X * 100로 지정해주었으나 이렇게 했을 경우 Y에 비해 X가 너무 크면 100을 곱하기도 전에 값이 0.000000..... 에 가까워져서 안된다고 하더라 그래서 (double)Y * 100 / (double)X 이렇게 100을 앞으로 당겨와서 곱해야.. 2023. 5. 10.
[SWEA / 원 안의 점 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AYcllbDqUVgDFASR SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 처음엔 그림 그려서 규칙이 있는지 찾아보고 그림에 맞춰 연산 작업을 진행했는데 수가 커지니 총 갯수가 안맞더라 그림을 못그려서 오차가 있었던 것 혹은 내가 생각한 방식과 실제 갯수를 구하는 연산에 차이가 있었던 것 같다. 문제의 정답률이 이렇게 높은거면 간단히 구하는 공식, 규칙 같은 게 있지 않을까 했는데 문제에 x*x + y*y 2023. 5. 9.
[백준 15810 / 풍선 공장 / JAVA / 이분 탐색] https://www.acmicpc.net/problem/15810 15810번: 풍선 공장 1, 2, 3번 스태프가 각각 5분, 7분, 3분씩 걸린다면 3분이 지났을 때 3번 스태프가 1개, 5분에 1번 스태프가 1개, 6분에 3번 스태프가 1개를, 7분에 2번 스태프가 1개를, 9분에 3번 스태프가 1개를, 10분에 www.acmicpc.net 문제 접근 다른 건 다 제대로 적어놓고 범위를 지정하는데서 애 먹었다. left는 0이나 1로 해도 통과 right의 값을 현재 풍선 만드는데 가장 오래 걸리는 사람의 시간 * 풍선 갯수로 잡아줘야한다. 내가 적은 코드 상엔 시간이 정렬된 배열의 마지막 인덱스를 가져와서 최소 풍선 갯수랑 곱한 값으로 right값을 지정해놨는데 이론상 최대 시간은 1000000.. 2023. 5. 9.
[SWEA / 아름이의 돌 던지기 / JAVA → C++] https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV18-stqI8oCFAZN&categoryId=AV18-stqI8oCFAZN&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=2&pageSize=10&pageIndex=3 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 막상 풀고나니 자바는 지원을 안해서 GPT에게 자바를 C++로 바꿔달라했다. N의 크기만큼 반복문을 돌면서 던진.. 2023. 5. 8.
[SWEA / 새로운 불면증 치료법 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV18_yw6I9MCFAZN&categoryId=AV18_yw6I9MCFAZN&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=2&pageSize=10&pageIndex=3 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 N의 숫자를 총 몇 번 사이클 돌렸는지 구하는 문제다. N의 숫자와 사이클을 나타내는 변수 선언 후 해당 변수를.. 2023. 5. 8.
[백준 / 그르다 김가놈 / JAVA / 이분 탐색] https://www.acmicpc.net/problem/18113 18113번: 그르다 김가놈 첫 번째 줄에 손질해야 하는 김밥의 개수 N, 꼬다리의 길이 K, 김밥조각의 최소 개수 M이 주어진다. (1 ≤ N ≤ 106, 1 ≤ K, M ≤ 109, N, K, M은 정수) 두 번째 줄부터 김밥의 길이 L이 N개 주어진다. www.acmicpc.net 문제 접근 주어진 김밥 길이를 꼬다리를 정리 후 배열에 저장, 꼬다리 길이에 못미치는 김밥은 폐기 저장된 배열 김밥 길이들을 토대로 김밥 최소 갯수를 만들 수 있어야 하며 자르는 김밥의 길이도 최대로 해주고 싶다. 자르고자 하는 김밥의 길이가 길수록 만들 수 있는 김밥의 갯수는 줄어들 것이다. mid 전체 길이를 반씩 자르면서 최적의 김밥 길이를 찾아야한.. 2023. 5. 7.