반응형

알고리즘 연습 127

[ 백준_BOJ ] 1717. 집합의 표현 _ JAVA 문제풀이

문제 풀이 Union-Find를 이용하여 풀이해야 하는 문제입니다. 0일 때 union 연산을 수행하고 1일 때 같은 집합에 있는지를 비교하기 때문에 flag 변수를 만들어서 분류해주었습니다. 문제에서 여러 번 isSame( ) 연산을 수행하기 때문에 StringBuilder( ) 를 이용해서 한 번만 출력할 수 있도록 해주었습니다. 추가적으로, union( ) 연산에서 연산의 수행속도를 높여주기 위해 x y 중 큰 수를 부모로 바꾸어주도록 하였습니다. 코드 출처 https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 첫째 줄에 n(1≤n≤1,000,000), m(1≤m≤100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연..

알고리즘 연습 2019.10.16

[백준_BOJ] 1157. 단어공부 _ JAVA 문제풀이

문제 풀이 먼저 각각의 알파벳이 나온 빈도수를 체크하기 위해 alpha[ ] 배열을 만들어주었습니다. 입력받은 str을 한 글자씩 잘라 보면서 alpha 배열에 카운트를 1씩 증가시켜주어 몇 번 등장했는지 알 수 있도록 해주었습니다. 카운팅을 완료한 이후 max와 max_idx를 만들어 max는 가장 높은 빈도수, idx는 max값일 때의 문자를 기록하기 위해 두 변수를 사용했습니다. 추가적으로 max값이 똑같을 경우, ? 를 출력해주어야 하기 때문에 이를 구분하기 위한 flag 변수를 만들었습니다. 새로운 max값이 등장할 때 if문 안에서 flag를 false로 초기화해주었고, 만약 똑같은 max 값이 발생한다면 flag를 true로 바꿔 그 경우에는 결과값? 를 출력해주었습니다. 코드 출처 http..

알고리즘 연습 2019.10.16

[ 수학 ] 최대공약수와 최소공배수 연습하기 JAVA

문제 풀이 최소공배수, 최대공약수를 구하는 연습을 백준 2609번 문제를 통해 연습해보도록 하겠습니다. 문제 풀이는 유클리드 호제법을 이용하였습니다. https://namu.wiki/w/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C%20%ED%98%B8%EC%A0%9C%EB%B2%95 유클리드 호제법 - 나무위키 이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다. 나무위키는 백과사전이 아니며 검증되지 않았거나, 편향적이거나, 잘못된 서술이 있을 수 있습니다. 나무위키는 위키위키입니다. 여러분이 직접 문서를 고칠 수 ..

알고리즘 연습 2019.10.16

[SWEA] 2046. 스탬프 찍기 문제풀이 JAVA

출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QKdT6AyYDFAUq&categoryId=AV5QKdT6AyYDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 입력으로 주어진 자연수 N 개 만큼의 #을 출력해주는 문제입니다. for문을 이용하여 쉽게 풀이하였습니다. 코드

알고리즘 연습 2019.10.09

[SWEA] 1933. 간단한 N의 약수 문제풀이 JAVA

출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PhcWaAKIDFAUq&categoryId=AV5PhcWaAKIDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 1부터 N까지의 약수를 모두 구하는 문제입니다. 문제에서 오름차순으로 출력하라고 하였으므로 i를 1부터 반복하며 N의 약수가 되는 수를 찾을 때마다 바로 출력해주면서 풀이하였습니다. N의 약수는 N을 i로 나눈 나머지가 0이 되는 경우입니다. 코드

알고리즘 연습 2019.10.09

[SWEA] 2025. N줄 덧셈 문제풀이 JAVA

출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QFZtaAscDFAUq&categoryId=AV5QFZtaAscDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 1부터 N까지의 합을 구하는 공식을 이용하였습니다. 자연수 N을 입력받아 ( N * ( N + 1 ) / 2 ) 연산을 출력하여 정답을 찾았습니다. 코드

알고리즘 연습 2019.10.09

[SWEA] 1936. 1대 1 가위바위보 문제풀이 JAVA

출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PjKXKALcDFAUq&categoryId=AV5PjKXKALcDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 A와 B가 무엇을 냈는지 입력으로 주어진다. 이때 가위는 1, 바위는 2, 보는 3으로 입력되어 들어오므로 else if 문을 잘 활용해주면 쉽게 답을 찾을 수 있습니다. 코드

알고리즘 연습 2019.10.09

[SWEA] 2043. 서랍의 비밀번호 문제풀이 JAVA

출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5QJ_8KAx8DFAUq&categoryId=AV5QJ_8KAx8DFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 비밀번호가 주어지면 100부터 해당 비밀번호까지 입력해보는 데 몇 번만에 비밀번호를 맞출 수 있는지를 찾는 문제입니다. 항상 1씩 증가하면서 계산하기 때문에 ( P - K +1 ) 연산을 통해 쉽게 답을 찾을 수 있습니다. 코드

알고리즘 연습 2019.10.09

[SWEA] 1938. 아주 간단한 계산기 문제풀이 JAVA

출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PjsYKAMIDFAUq&categoryId=AV5PjsYKAMIDFAUq&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 입력되는 두 정수 (A, B)에 대하여 사칙연산 + - * / 연산한 결과를 출력해주면 되는 문제입니다. 나눗셈 연산의 경우 소수점 이하의 숫자를 버리므로 int형으로 모두 연산해주어도 되는 문제입니다. 코드

알고리즘 연습 2019.10.09
반응형