본문 바로가기

구현182

[자바] 백준 10864 - 친구 (java) 문제 : boj10864 필요 알고리즘 개념 구현 별다른 알고리즘 지식 없이 문제에 제시된 대로 구현만 할 줄 알면 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. N명의 학생에 대해 N+1크기의 배열 cnt[N+1]을 만들어보자. cnt[x]는 x번 학생의 친구 수를 나타낸다. 2. M개의 친구 관계 A B를 입력받는다. 그리고 cnt[A]++; cnt[B]++; 를 해준다. (A와 B가 친구면, B와 A.. 2022. 11. 25.
[자바] 백준 17502 - 클레어와 팰린드롬 (java) 문제 : boj17502 필요 알고리즘 개념 구현, 문자열 문자열의 각 character를 파악하고, 문제의 규칙을 이해해서 구현해줘야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 팰린드롬은 앞에서 읽으나 뒤에서 읽으나 동일해야 한다. 그 말인즉, 문자열의 양 끝에서 포인터를 두고 중간으로 점점 오면서 두 포인터가 가르키는 문자가 전부 동일해야 함을 의미한다. 아래의 경우 '3'과 '4'가 다르므로 팰린드롬이 아님을.. 2022. 11. 7.
[자바] 백준 25932 - Find the Twins (java) 문제 : boj25932 필요 알고리즘 개념 구현 입출력 연습문제에 가깝다. 그래도 문자열에 대한 연산을 좀 쓸줄 알아야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 풀게된 계기는 나온지 얼마 안된 문제라 정답률이 100%였다. 100%로 냅두긴 불-편 했으므로 정답률을 떨어뜨리기 위해 풀었다(?). (팁 : 백준에서는 그냥 틀리기만 해서는 정답 비율에 영향을 안끼친다. 틀린 후 맞아야 성공률이 내려간다!) 문제에서.. 2022. 11. 4.
[자바] 백준 21598 - SciComLove (java) 문제 : boj21598 필요 알고리즘 개념 구현 문자열 출력 연습 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 주어진 N의 횟수만큼 "SciComLove"를 출력해주면 된다. 백준에서 문자열 출력하는 연습을 해보자! 코드 : github import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { private void .. 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.
[자바] 백준 10865 - 친구 친구 (java) 문제 : boj10865 필요 알고리즘 개념 구현 문제를 잘 이해했다면 단순 구현문제임을 파악할 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 A와 B가 친구면 B와 A도 친구라는 조건만 있을 뿐이다. 만약 "A와 B가 친구고, B와 C도 친구라면 A와 C도 친구다." 같은 조건이 붙었거나, "A B가 입력으로 주어진 경우에 B A가 다시 입력으로 주어지는 경우는 없다." 라는 조건이 없었다면 단순 구현문제는 아니.. 2022. 11. 2.
[자바] 백준 25703 - 포인터 공부 (java) 문제 : boj25703 필요 알고리즘 개념 구현 문제에서 제시된대로 구현만 할 수 있다면 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 문제에서 제시된대로 구현만 할 수 있다면 풀 수 있다. 여기서 로직을 간편하게 하려면, 반복된 코드로 짤 수 있는 부분과 없는 부분을 잘 나누는 것이다. int a;와 int *ptr = &a; 까지만 미리 출력을 해둔다면 그 이후로는 반복문을 통해 동일한 로직으로 출력할 수.. 2022. 11. 2.
[자바] 백준 10822 - 더하기 (java) 문제 : boj10822 필요 알고리즘 개념 문자열, 파싱, 구현 문자열을 일정한 규칙대로 파싱해서 원하는 데이터를 얻을 수 있다면 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 "10,20,30,50,100" 형태로 ','를 기준으로 작성되어있는 각 숫자들을 파싱해서 뽑아낼 수 있으면 모두 더해버리면 된다. 자바의 경우 String에 대해 split 함수로 파싱해도 되고, StringTokenizer로 파싱해.. 2022. 10. 28.
[자바] 백준 13567 - 로봇 (java) 문제 : boj13567 필요 알고리즘 개념 구현, 시뮬레이션 문제에서 제시된 대로 구현만 잘 하면 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 변수들 설계만 잘 하면 의외로 엄청 쉽게 풀린다. 내 경우엔 아래와 같이 진행했다. r : y축 값 (내 경우엔 y, x론 헷갈려서 행과 열을 뜻하는 row, column으로 r과 c를 주로 사용한다.) - 초기값 0 c : x축 값 - 초기값 0 dir : 0-북,.. 2022. 10. 25.
[자바] 백준 22864 - 피로도 (java) 문제 : boj22864 필요 알고리즘 개념 그리디 알고리즘 논리적으로 최선의 경우를 만드는 규칙을 정해 모든 경우에 적용시켜서 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 뭔가 곱셈, 나눗셈으로 풀 수 있을 것 처럼 생겼는데, 단 한번이라도 M을 넘기면 안되는걸 판단하기가 많이 어려울 것 같다. 24시간만 판단하면 되므로 총 24번 매번 확인하면 된다. 확인 방식은 간단한데, 매번 A만큼 피로도가 쌓여도 M.. 2022. 10. 25.