Language
-
백준 2562번: 최댓값 (배열 풀이)Language/C 2021. 5. 15. 00:54
문제를 보자면 자연수를 입력하고, 그중 최댓값과 최댓값이 몇 번째로 입력받은 수인지를 출력해줘야 한다. 자연수를 9개 입력해줘야 하기 때문에 배열을 사용할 것이고, 배열에 들어간 수들을 하나씩 비교해 최댓값을 구해줘야 하기 때문에 for문을 통해 하나씩 비교해주면 될 것이다. 위와 같은 코드를 짜 사용해주었고, for문을 두 번 사용해서도 코드를 짤 수 있지만 가능한 한 코드 길이를 줄일 수 있도록 해주자. * 원래 필자는 위와 같이 for문을 두 번 써서 첫 번째 for문에서는 scan을 해주고, 두 번째 for 문에서는 비교를 하는 방식의 코드를 더 좋아한다. "굳이 for문을 두 번 안 쓰고 한 번에 가능한데? 왜?"라고 생각하는 게 보통일 거라 생각하는데, 필자가 보기 불편하다. (대충 "내 맘"..
-
백준 2576번: 홀수Language/C 2021. 5. 11. 18:30
복잡한 문제의 경우 노트에 필기를 하면서 풀이법을 적어보자. 7개의 자연수를 입력받는다. 7개의 자연수의 홀 / 짝 여부를 결정한다. 홀수일 경우 홀수끼리 더 해주고, 짝수일 경우 더하지 않는다.(0을 더한다.) 홀수 중에 가장 작은 수를 찾아준다. 먼저 자연수를 연속해서 받으려면 배열을 사용해야겠다고 생각했다. 입력받은 자연수 중 홀수의 경우와 짝수의 경우로 나누어 주고, 홀수일 경우에 sum(초기값 0)에 홀수인 값을 더해주고, 짝수의 경우 sum에 0을 더해준다. 만약 입력받은 숫자들이 모두 짝수일 경우 sum은 0의 값을 갖기 때문에 sum ==0 일 경우에는 문제 내용에 따라 -1을 출력해주고, sum != 0 일 경우에는 홀수들을 더한 sum 값을 출력해주면 된다. ** 함수를 사용하여 풀어야..
-
백준 5073번: 삼각형과 세 변Language/C 2021. 5. 11. 16:45
문제가 살짝 복잡하다. (나의 느낌) 필기를 하면서 문제풀이를 생각했다. 삼각형의 조건을 만족(한다. / 안 한다.) 삼각형의 조건을 만족했을 경우에 해당하는 3가지(Equilateral / Isosceles / Scalene), 삼각형의 조건을 만족하지 못했을 경우 (Invalid) 이와 같은 경우들을 생각하고 코드를 짜보았다. 첫 번째로 삼각형의 조건(가장 긴 변의 길이 < 나머지 두 변의 길이의 합)을 만족하는 경우를 찾기 위해 가장 긴 변의 길이를 찾는 Max() 함수를 만들었다. 두 번째로 삼각형 조건이 만족했을 경우에 해당하는 삼각형을 찾아주는 triangle() 함수를 만들어 주었다. 마지막으로 위의 두 함수를 사용하여 세 변의 길이가 모두 0이 아닐 때까지, 입력된 세 변의 길이 중 가장 ..
-