- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 컴퓨터공학과
- 백준
- C++
- 안드로이드
- 배열
- 코딩테스트
- VB.NET
- 안드로이드 스튜디오
- 파이썬
- 프로그래머스
- firebase google
- 동적할당
- til
- Firebase
- sql
- python
- C언어
- 구글 로그인
- 알고리즘
- 공유대학
- 프로그래밍 입문
- 비주얼 베이직
- 자료구조
- 자바
- 연결리스트
- oauth
- Java
- 로그인
- android studio
목록전체 글 (186)
코딩하는 해달이
제 1장 데이터의 표현 디지털 데이터의 표현 방법 기수법과 진법 (정수를 나타내는 법) 10진법 → 2진법 - 2로 나머지 연산 2진법 → 8진법 - 2진법을 3자리씩 끊어서 8진수로 변환 2진법 → 16진법 - 2진법을 4자리씩 끊어서 8진수로 변환 2진수의 덧셈 2진수에서 음수를 나타내는 방법 부호 절대값 표현법 최상위 비트값이 0이면 양수, 1이면 음수로 약속을 정하고 나머지 비트를 원래 값을 절대값으로 표현 보수 표현법과 2의 보수, 1의 보수 보수는 '보충해주는 수'를 의미 보수가 보충하는 대상이 되는 것은 어떤 수를 만들기 위해 보조적으로 필요한 수 보수는 2진수에만 사용하는 것이 아니며 모든 n진법마다 존재 2진법에서 1의 보수를 만들기 위한 방법 - 보수를 만들기 위한 수를 반전 (그다지 ..
문제 설명 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 알고리즘 구현 기하학 푼 방법 점을 입력받고, 객체를 만든 다음, 점끼리 이어 선분을 만들었을 때, 선분을 이루지 않는 점을 길이가 가장 긴 선분을 기준으로 대칭이동 시키면 된다. 풀이코드 import java.io.IOException; import java.io.InputStreamReader; import java.io.BufferedReader; import java.util.*; public class Main { L..
문제 설명 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 8개의 줄에 체스판의 상태가 주어진다. ‘.’은 빈 칸이고, ‘F’는 위에 말이 있는 칸이다. 출력 첫째 줄에 문제의 정답을 출력한다. 알고리즘 구현 문자열 푼 방법 문자열을 줄바꿈 문자를 기준으로 2차원 리스트로 입력받고, 짝수 줄은 흰색부터, 홀수 줄은 검은색부터 체크해서 체스판 전체를 순회하며 말의 갯수를 카운팅한다. 풀이코드 import java.io.IOException; import java.io.InputStreamReader; import java.io..
알고리즘의 기술 방법 자연어를 이용한 서술적 표현 (영어 or 한국어) 장점 : 대화나 의사소통을 통해서 전달하기 때문에 의사소통만 가능하다면 편하게 전달이 가능함 단점 말하는 사람과 듣는 사람에 따라 다르게 이해할 수 있어 일관성과 명확성이 떨어짐 언어, 단어, 표현등에 의존적임 ex) 배열에서 최대값 찾기 알고리즘 도식화 : 흐름도 (flowchart) 장점 : 간단하고 명확하게 흐름을 표현 가능 단점 : 복잡한 알고리즘을 표현하기에는 어려울 수 있음 ex) 배열에서 최대값 찾기 알고리즘 가상코드를 이용한 추상화 : 의사 코드 (pseudo-code) 장점 의사코드를 실제코드로 변환하기만 하면 되기 때문에 편하게 구현이 가능 알고리즘 기술에 가장 많이 사용 코드지만 프로그래밍 언어에 대한 의존성이 없..
자료구조 데이터를 저장, 조직, 관리하는 방법 문제 해결에 사용할 부품 프로그래밍과 문제 해결 데이터와 구조 모듈에 대한 이해 프로그래밍 언어, 정수, 문자열,.... 리스트, 스택, 큐, 우선순위 큐, 검색트리, 그래프,..... 종류 선형 자료구조 배열 연속적인 메모리에 데이터를 저장하는 자료구조 특징 : 같은 형태의 데이터 집합을 같은 사이즈의 메모리로 나열 연결리스트 데이터를 연결하는 방식으로 저장하는 자료구조 특징 : 한 개의 노드가 데이터부분과 다음 데이터를 가르키는 포인터부분으로 나뉨 행렬 파이썬에서는 이중 리스트로 구현하게 되는 자료구조 특징 : 행과 열로 이루어져있음 스택 특징 : 마지막에 들어온 데이터가 가장 처음으로 나가는(Last In First Out) 구조로 이루어짐 큐 특징 :..
문제 설명 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대를 만들려고 한다. 막대를 자르는 가장 쉬운 방법은 절반으로 자르는 것이다. 지민이는 아래와 같은 과정을 거쳐서 막대를 자르려고 한다. 지민이가 가지고 있는 막대의 길이를 모두 더한다. 처음에는 64cm 막대 하나만 가지고 있다. 이때, 합이 X보다 크다면, 아래와 같은 과정을 반복한다. 가지고 있는 막대 중 길이가 가장 짧은 것을 절반으로 자른다. 만약, 위에서 자른 막대의 절반 중 하나를 버리고 남아있는 막대의 길이의 합이 X보다 크거나 같다면, 위에서 자른 막대의 절반 중 하나를 버린다. 이..
문제 설명 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 알고리즘 수학 구현 사칙연산 푼 방법 테스트 케이스만큼 입력을 받으면 된다. 풀이코드 import java.io.IOException; import java.io.InputStreamReader; import java.io.BufferedReader; import java.util.*; public class Main { public static void main(String[] args) throws IOExcep..
문제 설명 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력 출력형식과 같게 N*1부터 N*9까지 출력한다. 알고리즘 수학 구현 푼 방법 for문을 이용해서 반복 출력한다. 풀이코드 import java.io.IOException; import java.io.InputStreamReader; import java.io.BufferedReader; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Bu..