본문 바로가기

전체 글1068

[roadmap.sh] Backend 2주차 정리 스터디 메인 페이지 목차 완벽한 정리가 목적이 아니고, 로드맵을 보면서 기본 개념을 알고 차후 파고들어서 공부하기 위한 사전 준비 과정인 스터디이다. 따라서 이하 정리한 내용이 부실할 수 있습니다(애초에 제대로 보려면 한 주제당 블로그 글 하나 이상씩 나와야 하는 수준..) Learn a Language 프론트엔드는 HTML, CSS, JS 를 기반으로 +@로 파생되는 다른 애들이 있음. 백엔드는 그런건 잘 없는것 같음. 언어 및 프레임워크에 더해서 DB, 서버, 보안 등도 다뤄야 해서 러닝커브가 큰 것 같음. Java 자바스크립트 - 스크립트 JVM 위에서 돌아감 JVM, JRE, JDK 빌드툴 : Gradle, Maven 웹용 프레임워크 : 스프링, 스프링부트, 플레이 등 - 하지만 스프링쪽이 너무 .. 2022. 11. 26.
[자바] 백준 2162 - 선분 그룹 (java) 문제 : boj2162 필요 알고리즘 개념 분리 집합 그룹의 개수 및 그룹의 크기를 구하기 위해 분리 집합 알고리즘을 알고 있으면 좋다(안써서 푼 사람들도 있긴하다). 선분 교차 판정 (기하학, CCW) 선분 교차 판정 알고리즘으로 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 내 경우 union-find를 쓸 때, 코드상의 parents 배열 기준으로 그룹의 메인 번호는 음수, 나머지는 양수로 메인 번호를 나.. 2022. 11. 26.
[자바] 백준 4375 - 1 (java) 문제 : boj4375 필요 알고리즘 개념 브루트포스 풀이1의 경우 BigInteger를 사용해 브루트포스로 푼다. 수학, 정수론 풀이2의 경우 나머지 연산의 특성을 사용해 BigInteger를 사용하지 않고 푼다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 우선 2와 5로 나누어 떨어지지 않는다는 조건이 왜 붙었냐면, 소인수분해시 2와 5가 있을 경우 그 중 작은 수 만큼 수의 낮은 자리수에 0이 생겨서 1로 나누어떨어.. 2022. 11. 26.
[자바] 백준 12781 - PIZZA ALVOLOC (java) 문제 : boj12781 필요 알고리즘 개념 선분 교차 판정 (기하학, CCW) 선분 교차 판정 알고리즘으로 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 주어진 선분 2개로 피자가 4조각으로 나뉘는지 확인해보는건 결국 두 선분이 교차하는지 판단하면 된다. CCW를 이용한 선분 교차 여부 판정을 보고 구현해주면 된다. 주의점은 위 설명에서는 교차된 것으로 판단되는 이하와 같은 케이스들은 이 문제에서는 교차하지 .. 2022. 11. 26.
[C++] 백준 15687 - 직사각형 (cpp) 문제 : boj15687 필요 알고리즘 개념 기하학, 구현 기하학이라곤 해도 뭐 그냥 직사각형의 넓이나 둘레를 구하는 법을 아냐 정도이다. 그냥 제시된대로 구현하는 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 백준에서 처음 보는 제출 방식이었다. 완성된 코드가 아니라 클래스만 짜서 올리면 된다. 다만 C++로만 제출이 가능하다. 넓이나 둘레 등은 따로 풀이할건 없을 것 같다. C++을 어느정도 안다면 풀 수 있다.. 2022. 11. 26.
[자바] 백준 26059 - Вендомат (java) 문제 : boj26059 필요 알고리즘 개념 구현, 파싱, 문자열 일단 문제가 이해가 됬다면 문자열 파싱을 통해 제시된 대로 구현해주면 된다. 눈치 및 번역(?) 번역기만 돌려선 좀 이해하기 힘든 문제이다. 눈치(?)가 좀 있어야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 자세한 번역을 쓰고싶진 않으니(나도 모르겠음), 그냥 결론적으로 어떻게 푸는지만 이해되도록 작성하겠다. 입력은 이하와 같이 들어온다고 하자. N.. 2022. 11. 26.
[자바] 백준 5691 - 평균 중앙값 문제 (java) 문제 : boj5691 필요 알고리즘 개념 수학 약간의 수학적 사고가 필요한 문제이다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 세 정수 중 두 정수가 주어지고, '가장 작은 정수 C'를 찾아야 한다. 그러므로 C b?b:a; sb.append(a-b+a).append('\n'); } System.out.print(sb); } public static void main(String[] args) throws Except.. 2022. 11. 25.
[자바] 백준 25600 - Triathlon (java) 문제 : boj25600 필요 알고리즘 개념 구현, 수학 문제에 제시된 내용 대로 구현해주면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 N명의 참가자 각각에 대해 a==d+g 라면 2a*(d+g)를, 그렇지 않다면 a*(d+g)를 구해준다. 이 값 중 가장 큰 값을 출력해주면 된다. 코드 : github import java.io.BufferedReader; import java.io.InputStreamReade.. 2022. 11. 25.
[자바] 백준 26040 - 특정 대문자를 소문자로 바꾸기 (java) 문제 : boj26040 필요 알고리즘 개념 구현, 문자열 문자열 파싱을 통해 제시된대로 구현해주면 된다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1. 입력으로 들어온 문자 목록 B를 쉽게 접근할 수 있는 자료구조에 담아둔다. 어차피 최대 26개이니 이하 코드처럼 배열에 담아도 되고 (chk[26] 짜리 배열로, chk[0]이 true라면 'A'가 입력으로 주어졌다는 의미. chk[2]가 true라면 'C'가 입력으로.. 2022. 11. 25.
[자바] 백준 6131 - 완전 제곱수 (java) 문제 : boj6131 필요 알고리즘 개념 브루트포스 대상으로 가능한 모든 경우를 직접 보면서 확인해주면 된다. 수학 제곱근. 제곱 연산이 필요하다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 정수 A, B에 대해 1 2022. 11. 25.