본문 바로가기

수학115

[자바] 백준 13985 - Equality (java) 문제 : boj13985 필요 알고리즘 개념 문자열 파싱 문자열 파싱 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 A + B = C 형태의 입력에서, A, B, C를 뽑아낼 수 있다면 풀 수 있다. 심지어 1개의 문자로만 각 숫자가 주어진다고 했으므로 어려울게 없다. character 자체로 판단해도 되고, 어차피 공백으로 구분되어 있으므로 공백을 기준으로 잘라줘도 된다. 코드 : github import jav.. 2022. 11. 7.
[자바] 백준 1669 - 멍멍이 쓰다듬기 (java) 문제 : boj1669 필요 알고리즘 개념 수학 수학적 사고가 필요한 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 얼핏 어떻게 구해야할지 난감할 수 있다. 구해야하는건 '최소'의 일수라는걸 시작으로 생각해보면 좀 더 쉽게 생각해볼 수 있다. 첫째 날과 마지막 날은 항상 1cm 여야 한다. 그렇다면 가장 빠르게 cm를 증가시키면서 차이를 좁혀야 '최소'일수가 가능하다. 가장 빠르게 cm를 증가시키는 방법은, 중간 .. 2022. 11. 2.
[자바] 백준 7891 - Can you add this? (java) 문제 : boj7891 필요 알고리즘 개념 구현, 수학 수학문제라곤 하지만 덧셈만 하면 된다 ㅋㅋ 그냥 구현문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 사실상 입출력 연습 문제이다. 각 줄에 입력된 두 수를 더한 후 출력해주면 된다. 코드 : github import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringT.. 2022. 11. 2.
[자바] 백준 10822 - 더하기 (java) 문제 : boj10822 필요 알고리즘 개념 문자열, 파싱, 구현 문자열을 일정한 규칙대로 파싱해서 원하는 데이터를 얻을 수 있다면 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 "10,20,30,50,100" 형태로 ','를 기준으로 작성되어있는 각 숫자들을 파싱해서 뽑아낼 수 있으면 모두 더해버리면 된다. 자바의 경우 String에 대해 split 함수로 파싱해도 되고, StringTokenizer로 파싱해.. 2022. 10. 28.
[자바] 백준 5717 - 상근이의 친구들 (java) 문제 : boj5717 필요 알고리즘 개념 사칙연산, 수학 덧셈만 하면 되므로 그냥 입출력 연습 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 '0 0'이 입력될 때 까지 두 수를 입력받아 더한 후 출력해주면 된다. 입출력 연습문제로, 아래의 코드 및 위의 '자바로 백준 풀 때의 팁 및 주의점' 링크를 참고해보자. 코드 : github import java.io.BufferedReader; import java.i.. 2022. 10. 25.
[자바] 백준 22864 - 피로도 (java) 문제 : boj22864 필요 알고리즘 개념 그리디 알고리즘 논리적으로 최선의 경우를 만드는 규칙을 정해 모든 경우에 적용시켜서 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 뭔가 곱셈, 나눗셈으로 풀 수 있을 것 처럼 생겼는데, 단 한번이라도 M을 넘기면 안되는걸 판단하기가 많이 어려울 것 같다. 24시간만 판단하면 되므로 총 24번 매번 확인하면 된다. 확인 방식은 간단한데, 매번 A만큼 피로도가 쌓여도 M.. 2022. 10. 25.
[자바] 백준 10178 - 할로윈의 사탕 (java) 문제 : boj10178 필요 알고리즘 개념 수학, 사칙연산 간단한 나머지 몫, 나머지 수학 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 각 테스트케이스별로 c와 v를 입력받아서, c를 v로 나눈 몫과 나머지를 출력해주면 된다. 즉, "You get [c/v] piece(s) and your dad gets [c%v] piece(s)." 를 출력해주면 된다. 입출력 문제로 생각하는게 좋을 것 같다. 코드 : gi.. 2022. 10. 25.
[자바] 백준 16395 - 파스칼의 삼각형 (java) 문제 : boj16395 필요 알고리즘 개념 다이나믹 프로그래밍 (DP, 동적계획법) 파스칼의 삼각형을 한쪽으로 전부 밀어보면 규칙이 보인다. DP로 미리 값을 구한 후, n과 k에 따라 해당하는 값을 출력해주면 된다. DP 문제긴한데 DP라기보다는 그냥 규칙찾는 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 문제에서 제시된 파스칼 삼각형을 코드로 어떻게 표현할지 생각해보자. 파스칼 삼각형을 좌측으로 쭉 밀어서 2.. 2022. 10. 25.
[자바] 백준 25756 - 방어율 무시 계산하기 (java) 문제 : boj25756 필요 알고리즘 개념 수학, 사칙연산 수식대로 계산하면 된다. 다만 퍼센트 개념이 들어간.. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 국어 문제로 이해하기 어려웠다 ㅋㅋ 처음엔 A는 백분율, V는 퍼센트로 잘못생각했었다. 아무튼 잘 읽어보면 A와 V 둘 다 퍼센트이다. 그럼 수식 계산을 위해 둘 다 0~1 사이의 백분율로 변경해야 한다. 그리고 출력해줘야 하는 수치는 다시 퍼센트로 출력해줘야 하므.. 2022. 10. 24.
[자바] 백준 11068 - 회문인 수 (java) 문제 : boj11068 필요 알고리즘 개념 수학 10진수를 2~64진법으로 진법을 변경할 줄 알아야 한다. 브루트포스 입력으로 들어온 수에 대해 2~64진법 모두로 변경 후 각각 팰린드롬인지 확인해보면 되므로 브루트포스(완전탐색) 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 난이도가 어려운 문제는 아닌데, 자잘하게 알아야 할게 많은 문제이다. 1. 10진수를 2~64진법으로 변경 10진수를 n진법으로 변경할 경.. 2022. 10. 21.