일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래밍
- BufferedWrite
- 소수판정
- 디렉티브
- 알고리즘
- 현대암호
- 암호론
- JSP
- 예외처리
- bubble-sort
- 연결된 예외
- LANG
- java
- class
- lang package
- 객체
- 클래스 패스
- OOP
- 재귀호출기본
- 공개키 암호
- 백준
- 형변환 연산자
- try&catch
- 백준 알고리즘
- 객체지향
- 자료구조
- 2884
- 자동 형변환
- jvm
- HTML
- Today
- Total
목록분류 전체보기 (111)
코드일기장

객체지향 언어 역사와 특징 Java는 oop(object oriented programming)으로 유명하다. oop는 객체지향이라고 보면 된다. 현대시대 많이쓰이는 객체지향 언어 중 대표적인 것은 C++, Java, Python이 있다. 프로그래머에겐 객체지향의 개념은 꼭 배워야 하고 익숙해지고 확실히 알아야 한다. 개인적인 생각으로는 Java로 객체지향을 균형 있게 배운다면 c++도 쉽게 배울 수 있다고 생각한다. (책은 Java의 정석을 추천한다.) 객체지향 언어가 나오기 전 소프트웨어의 세상은 보통 C언어 같은 절차적인 언어 위주로 개발되었다. 하지만 절차적 언어는 빠르게 발전하는 소프트웨어에 어울리지 못했다. 그러면서 객체지향이론과 객체지향 언어가 탄생을 하게 되었다. 대표적인 예로 기존 C에서..

Java 타입 간의 변환에 대해 설명해 보겠다. 1. 문자와 숫자간의 변환 숫자 3을 (char)타입 문자'3'으로 변환하기 위해 어떻게 해야 할까? 코드를 보여주고 설명하겠다. 어떤 값이 출력될까? 아마 '3'이 출력되지 않을까? 출력 값은 다음과 같다. 왜 35가 출력 되는지는 뒤에서 더 자세히 설명하겠다. 위 코드에서 inteager형 + char형이 결합되면 전혀 예상하지 못한 숫자가 출력된다는 것만 알면 된다. 1번째 출력값은 어떻게 될까? 여기서 charAt()은 무시하고 만약 '3'-'0'을 하게 된다면 어떤 타입의 어떤 식으로 출력하게 될까? 형식적으로는 숫자 inteager (int) 타입 3이 출력될 것이다. 다시 돌아와서 "3".charAt(0) charAt()은 String타입을 c..

배열과 관련된 정렬이다. 정렬은 물건을 크기순으로 나열하는 것을 의미한다. 예를 들면, 도서관에 가보면 책들이 주제, 제목, 저자 또는 발간 연도순으로 정렬해 놓은 것을 볼 수 있다. 이러한 정렬 덕분에 우리는 도서관에서 내가 읽고 싶은 책이 어디에 있는지 유추할 수 있고 빠르게 찾아낼 수 있다. 정렬은 컴퓨터 공학 분야에서 가장 기본적이고 중요한 알고리즘이다. 특히 일상생활에서도 많이 쓴다. 네이버페이로 쇼핑을 한다고 생각해보자 보통 사람들은 평점을 내렴 차순으로 정렬해 별점이 가장 높은 물건이 무엇인지 알고 싶어 할 것이다. (혹은 제일 싼 물건) 이처럼 정렬은 제일 많이 쓰이고 제일 중요한 알고리즘이다. 버블 정렬을 깊게 알아보기 전, 버블 정렬 관련 유튜브 영상을 한 개 올려주겠다. https:/..

제목: 셀프 넘버 실버5 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, .....

RSA암호에 대해 RSA암호라고 들어보신 적 있으신가요? RSA암호는 현대사회에서 제일 중요하고 널리 쓰이는 암호입니다. RSA 암호는 리베스트(Rivest, R.), 샤미르(Shamir, A.), 에이들먼(Adleman, L.)이 1977년에 개발한 암호 체계(crypto system)로, 처음으로 상용화되었고 지금도 널리 쓰이는 대표적인 공개키 암호 체계이다. 공개키 암호를 알아보기전, 고전 암호에 대해 공개키 암호를 알아보기전 옛날 고전 암호에 대해 알아볼 필요성이 있다. 많고 많은 고전 암호에서 대표적인 스키 테일 암호와 플레이페어 암호에 대해 알아보겠다. 고전암호를 알아보는 이유는 현대 암호와의 차이점을 알아보기 위해서이다. 고전 암호중 대표적인 암호이다. 주기를 정한 후 치환을 이용해 평문을 ..

제목:평균은 넘겠지 브론즈1 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 알고리즘 자체는 쉽지만 코드를 구현하는데 애먹을 수 있는 코드라고 생각한다. 문제를 쉽게 설명하자면 case별 학생들의 평균점수를 넘는 비율을 구하는 것이다. 예제 입력 50 50 70 80 100으로 예를 ..

제목: OX퀴즈 브론즈2 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다. 출력 각 테스트 케이스마다 점수를 출력한다. 문자열or문자 형태로 문제를 고민하면 쉬울 것이다. 다양한 문법이..