반응형

단계별로풀이 3

[백준_BOJ] 15596. 정수 N개의 합 _ JAVA

문제 풀이 함수를 선언할 수 있는지를 확인하는 간단한 문제입니다. 입력으로 주어지는 배열 요소들의 총 합을 구하는 문제입니다. for문을 이용해 풀이하였습니다. 매개변수를 활용하는 것과 함수의 형태를 구현할 수 있는지를 확인하는 기본 문제인 것 같습니다. 코드 출처 https://www.acmicpc.net/problem/15596 15596번: 정수 N개의 합 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. 작성해야 하는 함수는 다음과 같다. C, C11, C (Clang), C11 (Clang): long long sum(int *a, int n); a: 합을 구해야 하는 정수 n개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) n:..

알고리즘 연습 2020.01.03

[백준_BOJ] 2577. 숫자의 개수 _ JAVA

문제 풀이 먼저 A, B, C 세 정수를 입력받습니다. 입력 받은 A * B * C 의 결과를 result에 문자열 형태로 저장하였습니다. result에서 숫자 하나씩 떼어 0 ~ 9로 이루어진 배열에 해당 숫자를 1씩 카운트 해주었습니다. 나중에 계수 정렬 (counting sort)에 대해 배운다면 자주 사용하게 될 기법이니 익혀두시길 바랍니다. 주의할 점은 result는 String 형태이므로 숫자 하나씩 떼어낸다면 떼어낸 숫자는 int형이 아니라 char형태입니다. 따라서 array[result.charAt(i)] 가 아닌 array[result.charAt(i)-'0']로 해주셔야 정확한 배열의 위치로 찾아갈 수 있습니다. 카운팅이 모두 끝난 후 0부터 9까지 for문을 이용해 차례대로 출력해주..

알고리즘 연습 2019.12.28

[백준_BOJ] 2920. 음계 _ JAVA

문제 풀이 입력되는 8개의 숫자가 ascending의 형태인지, descending의 형태인지, mixed인지를 판별하는 문제입니다. array라는 이름의 8개의 int형 공간의 배열을 만들어주었고 가장 먼저 첫 번째 숫자가 1이라면 ascending인지를 검사하고, 첫 번째 숫자가 8인 경우에는 descending인지의 여부를 검사하였습니다. for문을 이용해서 계속 증가 혹은 계속 감소하는지의 여부를 검사하다가 일치하지 않는 경우에는 "mixed"를 출력하고 종료하도록 해주었습니다. 사실 이 문제 같은 경우는 단순히 입력되는 문자열로 판별해도 되는 문제입니다. 경우의 수가 3가지 밖에 없기 때문이죠 이렇게 풀이하셔도 문제없이 통과하실 수 있습니다! 코드 출처 https://www.acmicpc.net..

알고리즘 연습 2019.12.28
반응형