전체 글(52)
-
백준 3003: 킹,퀸,비숍,나이트,폰
▶문제 동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다. 체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검은색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다. 체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다. 동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오. > 요약하자면 체스 피스의 개수가 킹 1 퀸 1 룩 2 비숍 2 나이트 2 폰 8로 구성되어 있다. 동혁이가 찾은 피스의 개수와 원래 있어야하는 피스의 개수를 비교해서 몇 개가 더 있어야 하는지, 또는 몇 개가 없어져야 하는지를 출력하는 프로..
2023.04.08 -
백준 1411: 빠진카드 문제풀이
▶문제 우리는 1부터 N까지의 숫자가 차례대로 적힌 N장의 카드 묶음을 가지고 있다. 그런 데 이 카드 묶음을 옮기는 중 실수로 땅에 떨어뜨려 그중 한 장을 잃어버렸다. 여러 분은 땅에 떨어진 카드 묶음을 읽어서 빠진 하나의 카드 번호를 찾아 출력해야 한다. > 요약 하자면 첫 번째 줄에 몇 개에 카드를 가질 건지를 작성하고 두 번째 줄부터 카드의 번호를 입력받습니다. 입력받은 후 빠진 카드번호를 출력하는 프로그램입니다. ex ) 10개의 카드를 가지고 있다고 가정하고 1~9까지의 수를 입력, 10개의 카드인데 9까지 밖에 입력되지 않았기 때문에 10이 출력되는 것입니다. 저는 아래와 같은 코드를 사용하여 문제를 해결하였습니다. 코드 설명은 코드 옆 주석처리로 해두었습니다. #include int mai..
2023.04.07 -
백준 1110: 더하기 사이클 풀이
문제는 n의 사이클의 길이를 구하는 프로그램을 만드는 문제입니다. ▶문제는 아래와 같습니다. 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그다음 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다...
2023.04.03 -
컴파일러와 인터프리터
컴퓨터는 1과 0으로 이루어진 기계어만 알아들을 수 있습니다. 하지만 사람이 1과 0으로 이루어진 데이터를 모두 해석하는 것은 무리가 있습니다. 이러한 이유로 조금 더 쉽게 사람이 알아들을 수 있도록 설계한 언어가 어셈블리어입니다. 어셈블리어는 기계어와 1대 1 대응이 되는 저급 언어입니다. 하지만 저희는 사람이 사용하기 편한 고급언어인 C언어를 주로 사용합니다. 컴퓨터는 1과 0만 구분할 수 있는데 어떻게 c언어를 해석하는지 궁금하지 않나요? 아래를 보면 조금 이해가 가실 것 같습니다. c언어 같은 고급 언어들은 컴파일러나 인터프리터가 고급언어를 기계어로 해석해 줍니다. 컴파일러와 인터프리터 둘 다 고급 언어를 해석해 주는데요 둘의 차이점은 무엇인지 설명드리겠습니다. 컴파일러는 고급언어를 처음부터 끝까..
2023.03.09 -
[JAVA]정적 멤버
자바에서는 객체를 통하지 않고 사용할 수 있는 멤버를 생성하는 것이 가능합니다. 멤버가 모든 객체를 통틀어 하나만 생성되고 모든 객체가 이것을 공유하게 되는 것이죠 이러한 멤버를 정적멤버(클래스멤버)라고 합니다. 멤버를 정의할 때 앞에 static을 붙이면 정적 멤버가 되는 것입니다. 클래스의 멤버는 인스턴스 멤버와 정적 멤버로 나누어집니다. 인스턴스 변수는 인스턴스마다 멤버가 별로도 생성이 됩니다. 하지만 경우에 따라 모든 객체에 공통인 변수가 필요한 경우가 있습니다. 이것이 정적변수입니다. 정적 변수는 인스턴스를 생성하지 않아도 사용이 가능하며 객체를 생성하지 않고서도 사용할 수 있기에 자바에서의 전역 변수나 마찬가지입니다. 외부에서 정적 멤버를 사용하려면 단순히 클래스 이름 뒤에 멤버 연산자(.)를..
2023.02.28 -
[JAVA] this
자바에는 this 키워드가 존재합니다. 자바에서 this는인스턴스 자기 자신을 가리키는 키워드입니다. this를 통해 클래스 메소드 및 생성자에서 자기 자신의 데이터를 업데이트하거나 조작할 수 있습니다. 메소드나 생성자에서 this는 현재 객체를 나타냅니다. this를 사용하여 현재 객체의 어떠한 멤버도 참조할 수 있습니다. 또 this() 형식으로 this 뒤에 ()를 붙이면 생성자 호출이 됩니다. 메소드 내부에서는 필드에 직접 접근할 수 있습니다. point() 안에서는 아래와 같이 x와 y를 직접 사용할 수 있습니다. public class point { private int x = -; private int y = 0; //생성자 public point(int a, int b){// 여기 x = ..
2023.02.28