본문 바로가기

PS/백준

(14)
[백준/2163번/java] - 초콜릿 자르기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int N = scan.nextInt(); int M = scan.nextInt(); int total = (N-1) + N*(M-1); System.out.println(total); } } 표를 그릴 때를 생각해보자. 행을 3개 만들고싶으면 줄을 2개만 그리고, 열도 4개를 그리고싶으면 줄을 3개만 그린다. 초콜릿을 자를 때에도 마찬가지다. 예를들어서 3x4 인 초콜릿을 자른다고 가정해보자 두가지 경우가 있을 수 있다 행을 먼저 자르거나 열을 먼저 자르거나 행을 먼저 잘라보자! ..
[백준/1357번/java] - 뒤집힌 덧셈 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); StringBuilder sbnum1 = new StringBuilder(scan.next()); StringBuilder sbnum2 = new StringBuilder(scan.next()); String revnum1 = sbnum1.reverse().toString(); String revnum2 = sbnum2.reverse().toString(); int num1 = Integer.parseInt(revnum1); int num2 = Integer.parseInt(revn..
[백준/2477번/c언어] 숫자의 개수 어떻게 0부터 9까지의 수의 개수를 비교할까 고민하다가 0으로 선언된 배열을 하나 만들어두고 해당하는 숫자의 배열인덱스 값을 하나씩 올려서 카운트된 값을 출력하자는 생각을 했습니다. 자세한 설명은 아래 코드를 보고 순차적으로 설명하겠습니다. - 먼저 정수 a,b,c 를 사용자로부터 입력받고 (한줄에 하나씩 입력받는다는 조건이므로 scanf를 이용하였습니다.) - 정수형 변수 mul을 사용해 세 값을 곱한 값을 저장합니다. - 한자리씩 떼어내기 위해서 while문을 통해 mul을 10으로 나눈 나머지 구하고 나머지 숫자에 해당하는 배열의 인덱스 값을 올려 카운팅하는 방식을 선택했습니다. 예를 들어 설명하겠습니다. 261이라는 mul값을 가진다고 하면 261%10 = 1 이 되고 arr[1]의 값이 0에서 ..
[백준/10951번/c언어]- A+B-4 처음 문제를 보았을 때 간단한 덧셈 출력 프로그램 같지만 35.702%로 엄청 낮은 정답비율을 보고 오잉?하며 접근했다 나름 while문도 써보고 for문도 고민해보며 시도해보았지만 3번 다 출력 초과.... 도저히 답을 모르겠어서 네이버 검색을 해 본 후에야 알게되었다! EOF = end of file 파일 끝 조건을 위한 컴퓨터 용어 즉 더이상 값을 읽지 못하는 상태이다 분명 수업시간에 교수님께서 설명을 하셨겠지만... 전혀 기억이 나질 않아서 검색을 좀 해보았다..하하.. 네이버 지식백과에 의하면 운영체제에서 파일의 현재 위치를 알아낼 수 있도록 프로그램에서 파일의 맨 마지막에 위치시키느 코드! 반의어는 beginning of file이라고하는데... 어려운 이야기는 잠시 미뤄두고 문제 조건부터 살..
[백준/2588번/c언어]-곱셈 이번문제는 한번만에 성공했지만 성공하기까지 오랜시간이 걸렸다. 어떤식으로 접근해야할지 생각이 많았다. 단순한 곱셈문제인데 어떻게 표현을 해야할지 모르겠었다. 사칙연산에 대해 제대로 이해해보자. + : 덧셈 ex) 5+4=9 - : 뺄셈 ex) 5-4=1 * : 곱셈 ex) 5*4=20 / : 나눗셈 ex) 5/4=1 //나눈 몫을 출력 % : 나머지 ex)5%4=1 (2)에 들어가는 숫자로 345를 입력받았다고 해보자! 일의 자리 숫자를 표현하려면 345를 10으로 나눈 나머지를 살펴보자 345를 10으로 나누면 34, 여기서 일의자리 숫자를 표현한 방식을 다시 사용해보면 십의자리 숫자를 알아낼 수 있다 마지막으로 345를 100으로 나누면 백의 자리 숫자를 알 수 있다. 즉, 수식으로 바꾸어보면 (3)..
[백준/2557번/c언어]- printf("Hello World"); 백준을 회원가입하고 가장 처음풀어본 문제는 기본 중에 기본인 hello world 출력하기였다. 엄청 기본적인 문제임에도 불구하고 난 6번의 시도만에 성공했다. 그 이유에 대해 알아보자. [#1] 너무 쉬운 문제라고 생각해 거만했다. 맨 처음 코드를 작성하기 시작할 때에는 #include 라고 적어야하는데 #include라는 것이 라이브러리를 불러주는 코드. 즉, stdio.h라는 라이브러리를 불러오겠다!라는 의미이다. stdio.h 말고도 다른 종류들도 있는데 후에 설명할 일이 생기면 그때 설명하도록 하겠다. printf()라는 함수는 출력함수이다. [#2,3,4,5] 2,3,4,5번째 시도는 모두 동일한 이유로 틀렸다. 바로 '오타'때문이다. 1년만에 한 코딩이라 내가 틀렸을 줄 알고 이런저런 시도를..