전체 목록! 299

string타입의 메소드

c_str() 함수 string 타입에서는 C 스타일의 문자열 변환 메서드를 지원하는데 바로 그 함수가 c_str()이다. c_str()의 사용법( 헤더를 포함해야 한다.) string str = "Hello"; const char* cstr = str.c_str(); const char*로 해야하는 이유는 c_str()의 반환형이 const char*이기 때문이다. data() 함수 또한 data()라는 함수는 char* 타입을 리턴한다. string str = "HELLO"; char* ccstr = str.c_str(); 문자열의 타입 추론 문자열 리터럴은 원래 const char* 타입으로 인식된다. 그래서 auto를 사용해서 문자열을 만들 때 s를 붙이지 않으면 const char* 타입으로 인..

카테고리 없음 2018.05.02

[JAVA]JAVA 시험 정리

JAVA의 특징: JVM에 의해 실행되므로 플랫폼에 독립적.JAVA의 기본변수 작성 규칙$으로 시작해도 된다.예약어 불가능길이 제한 X데이터형Java Data Typeㄴ Primitive Type(기본형) ㄴ Boolean Type(boolean) ㄴ Numeric Type ㄴ Integral Type ㄴ Integer Type(short, int, long) ㄴ Floating Point Type(float, double) ㄴ Character Type(char)ㄴ Reference Type(참조형) ㄴ Class Type ㄴ Interface Type ㄴ Array Type ㄴ Enum Type ㄴ etc.기본형(32bit 기준)boolean: 1byte(true, false로 소문자다)char: 2..

개발 2018.04.25

[BOJ] 4673번: 셀프 넘버

링크 : https://www.acmicpc.net/problem/4673 독해력이 딸려서 그런지... 사실 처음에 보고 이해를 못했다. 그러니 당연히 코드를 못 짰는데 어쨌든 d(N)은 N의 각 자릿수 합 + N이고 n을 d(n)의 생성자라고 한다. 33은 39의 생성자가 될 수 있는 건데 생성자들이 없는 수가 셀프 넘버다. 1, 3, 5, 7 ... 같은 수들인데 어떤 n으로도 d(n) = 1, 3, 5, 7 ... 을 만들어 낼 수 없다는 말이다. 그래서 난 10,000까지 반복문을 돌리면서 d(i)값을 배열 인덱스에 넣어줬다. (배열의 장점이 여기서 나올 수 있다...)지금보니 해쉬 비슷하게 생기긴 했다 ㅋㅋㅋ pseudo code로 볼때 array[d(i)] = true, if(array[i] ..

온라인저지 2018.04.24

KOI예선 & 시험 끝나고 계획

KOI 지역예선 후기?2018 KOI 지역예선이 최근에 끝났죠. 특히 이번 KOI 예선은 참으로 문제가 많았습니다.공교육 기반으로 문제를 낸다... 이 말을 듣고 공교육 기반에서 "올림피아드"라는 수식어가 붙을 수 있을까 별로 내키지는 않았던 것으로 기억합니다. 그렇게 실제 예선이 치뤄지기 몇 주 전에 그 소식을 듣고 어찌됐든 시작한거 열심히 준비해야 겠다는 생각을 갖고 2007년~2017년 기출문제를 다 풀고 풀이도 했었죠. 물론 문제가 이.렇.게 바뀔 줄 모르고 말입니다 ㅋㅋㅋㅋ시험이 2시에 시작이였기 때문에 11시까지 정올반실로 가서 연산자 우선순위, 관습처럼 내려왔던 작년도 본선 문제, 코드, 그리고 풀이를 보고 시험장에 갔습니다.문제 이상한 거 없는지 잠깐 확인하는 시간에 쭉 훑어 봤습니다. 수..

개인 2018.04.22

[BOJ] 14867번: 물통

14867번: 물통다른 친구가 우선 순위 큐를 이용해서 풀었다고 하고, 인터넷에 풀이 올리신 걸 보니 BFS or DFS로 푸시는 걸 보고 감이 안 잡혔다. ㅠㅠ아무튼 나는 1. A에서만 물통을 채워서 B에게 넘겨주는 작업, 2. B에서만 물통을 채워서 A에게 넘겨주는 작업. 이 둘 중에서 최소 작업 횟수를 출력하게 만들었다. 사실 코드가 굉장히 미개하다. 왜냐하면 중복이 너무 많기 때문이다... 코드를 짤 때 생각해야 할 점이 -1을 출력할 때인데 bucketA == a && bucketB == b일 때가 못 만들 때이다. 왜냐하면 이 때는 어짜피 bucketA, bucketB를 비워줘야 하는데 이렇게 되면 처음 시작할 때와 똑같은 상황이기 때문이다.또한 a == c && b == d일때는 2를 출력해..

온라인저지 2018.04.09

[BOJ] 14697번: 방 배정하기

14697번: 방 배정하기DP로도 풀어도 되고 범위가 굉장히 작기 때문에 Brute force로 풀어도 되는 문제이다.실력이 정말 부족하기 때문에 이런 Brute force 문제들도 많이 풀어 봐야겠다.12345678910111213141516171819202122232425262728#include using namespace std; int main(){ cin.sync_with_stdio(false), cout.sync_with_stdio(false); int b[3], n; for (int i = 0; i > b[i]; } cin >> n; for (int i = 0; i

온라인저지 2018.04.09

[BOJ] 14696번: 딱지놀이

14969번: 딱지놀이 구현 문제다. 처음에 제출했을 때 틀려서 당황스러웠는데 알고보니 배열을 지역변수로 선언했기 때문에 쓰레기값이 있었던 것이였다. 변수의 초기화를 잘 해야 한다는 상식을 다시 상기 시켜준 문제이다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include char chk(int Aar[], int Bar[]) { if (Aar[4] > Bar[4]) return 'A'; else if (Aar[4] Bar[3]) return 'A'; else if (Aar[3] Bar[2]) return 'A'; else if (Aar[2] Bar[1]) return..

온라인저지 2018.04.09

정올 2013년 시도예선 중고등부 문제풀이

1! + 2! + 3! + ··· + 10!의 마지막 자리의 숫자는 어떻게도 볼 수 있냐면 1!, 2!,...,10!의 마지막 자리의 숫자의 합의 마지막 자리의 숫자로도 볼 수 있다. 그래서 Dn = n!의 마지막 자리의 숫자라고 놓으면 D1 = 1, D2 = 2, D3 = 6, D4 = 4, D5 = 0, D6 = 0, ..., D10 = 0이 된다. D5부터 0이 되는 이유는 D4가 4이기 때문에 5를 곱하면 0이 되고 그 뒤로도 계속 0이 되기 때문에 쭉 0이다.따라서 1 + 2 + 6 + 4 + 0 + 0 ... = 13이고, 답은 2번(3)이다. 1~9 = 4510~19 = 10 + 45 = 5520 ~ 29 = 20 + 45 = 6530 ~ 39 = 30 + 45 = 7585(40~49), 9..

카테고리 없음 2018.04.08