전체 글

피드백 환영합니다 intshc@gmail.com 〆(・∀・@)
Git

Git 자주 나오는 에러 모음

상황: git add . 한 경우 warning: LF will be replaced by CRLF the next time Git touches it 운영체제마다 줄바꿈 인식하는 방법이 달라서 생기는 오류이다. 해결법: git config --global core.autocrlf true 이라고 나와 있는데 그냥 add . 한번 더 해도 사라진다. 상황: push 하려는데 github에 내가 없는 파일이 올라와 있을 때 error:failed to push some refs to ~ 해결법: pull 한 뒤 add, commit, push 하면 된다. 상황: push || pull 하려는 데 github에 있는 프로젝트와 버전이 다를 때 fatal: refusing to merge unrelated h..

Java

자바 Collection Framework , 자료구조 정리

자료구조에 대해 알아보자 자바 컬렉션엔 크게 3가지 종류가 있다 List, Set, Queue 그리고 성격이 조금 다른 Map이 있다. List와 관련된 stack, vector Set, Queue, deque을 서술하고 마지막으로 Map에 대해 적어보려 한다. List List의 특징은 데이터값이 중복 가능하고 순서가 정해진다는 특징이 있다. -ArrayList ★자주사용 1. 배열에 순차적으로 기록되는 방식이다. 2. 저장공간의 낭비가 없다 3. 배열 중간에 삽입하면 뒤에 한 칸씩 밀려나 시간복잡도가 있다 -LinkedList 1. 포인터 방식으로 기록되는 방식이다. 2. 리스트 내 자료 이동이 필요 없다 3. 저장 공간의 낭비가 있다 4. 알고리즘이 복잡하다 5. 특정 자료의 탐색 시간이 많이 소요..

Java

자바 BufferedWriter & BufferedReader 사용방법

자바로 백준 풀 때 맞는 알고리즘을 짜도 시간이 초과하는 경우가 있다. 보통 입력은 Scanner, 출력은 System.out.println()로 작성하지만 이게 좀 느리다.. 백준 님이 언어별로 입력속도와 출력속도(링크) 차이를 비교한 글이다. scanner과 sysout은 저 밑에 있는 걸 확인할 수 있다. 시간초과로 틀리는 상황을 없애기 위해 Buffered 사용법을 알아보도록 하자 먼저 느려지는 이유를 대충 알아보자면 Scanner은 입력문자를 space, enter로 구분하고 BufferedReader는 enter로만 구분하고 버퍼공간에 저장해 두었다가 한 번에 내보내서 빠르다. 그래서 한번에 입력받은 값을 나눠줘야 해서 코드가 길어지는 단점이 있다.. 이제 사용방법에 대해 알아보자 import..

그 외 알고리즘 분류/해싱

[백준/JAVA] 15829 Hashing

https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net 1. 문제 APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정의한다. 해시 함수는 무궁무진한 응용 분야를 갖는데, 대표적으로 자료의 저장과 탐색에 쓰인다. 이 문제에서는 여러분이 앞으로 유용하게 쓸 수 있는 해시 함수를 하나 가르쳐주고자 한다. 먼저, 편의상 ..

백준 단계별로 풀기/if문

[백준/C] 2480 주사위 세개

https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 1. 문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 예를 들..

백준 단계별로 풀기/if문

[백준/C] 2525 오븐 시계

https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 1. 문제 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 ..

백준 단계별로 풀기/문자열

[백준/C] 11654 아스키 코드

https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 1. 문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 2. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 3. 출력 입력으로 주어진 글자의 아스키 코드 값을 출력한다. 4. 풀이 우리가 문자열을 입력할때 알파벳과 숫자 모두 아스키코드로 지정되어 있습니다. 입력받고 바로 그냥 숫자형식으로 출력시키면 바로 나와줍니다. 5. 코드 #include int mai..

백준 단계별로 풀기/1차원 배열

[백준/C] 4344 평균은 넘겠지

https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 1. 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 2. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 3. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까..

c언어 정보

C언어 scanf, scanf_s 문자열 입력 받는 법 (visual studio 2022)

c언어로 코딩하시는분이면 visual studio를 자주 사용하는데요. 보통 scanf("%d",&a); 형태로 적으면 정상적으로 돌아가야하지만 여기선 오류가 뜹니다. 왜냐하면 받아들일 수 있는 숫자를 초과하면 오버플로우가 발생할 수 있어서 자체적으로 막아둔겁니다.. 밑에 C4996에러를 보시면 scanf_s를 사용하던가 _CRT_SECURE_NO_WARNINGS을 사용하라고 합니다. #define _CRT_SECURE_NO_WARNINGS 을 복사해서 코드 최상단에 붙여놓으시면 에러가 안나긴 합니다 하지만 전 코드 새로 짤때마다 이걸 붙여놓는것도 일이라 생각해서 scanf_s로 짜줄겁니다. 물론 비표준함수라서 다른컴파일에 사용하면 오류가 나지만 _s만 지워주면 되긴 합니다. 이제 scanf_s에 대해서..

백준 단계별로 풀기/1차원 배열

[백준/C] 8958 OX퀴즈

https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 1. 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램..

백준 대회문제/브론즈

[백준/C] 23348 스트릿 코딩 파이터

https://www.acmicpc.net/problem/23348 23348번: 스트릿 코딩 파이터 첫째 줄에 세 가지 기술의 난이도 $A$, $B$, $C$가 '한손 코딩', '노룩 코딩', '폰코딩' 순서대로 공백을 사이에 두고 주어진다. ($0 \le A, B, C \le 1,000$) 둘째 줄에 참가한 동아리의 수 $N$이 주어진다. ($1 www.acmicpc.net 1. 문제 대한민국 최고의 알고리즘 동아리를 찾기 위한 리얼리티 서바이벌. 잔혹한 코딩판에서 살아남기 위한 대학생들의 자존심을 건 생존 경쟁이 시작된다! 스트릿 코딩 파이터는 최근 모임을 갖지 못하게 된 알고리즘 동아리들을 위해 방송사에서 제작한 특별 프로그램이다. 참가한 동아리들은 3인 1팀으로 팀을 구성해 각자 라이브로 문제를..

백준 단계별로 풀기/1차원 배열

[백준/C] 1546 평균

https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 1. 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 ..

백준 단계별로 풀기/1차원 배열

[백준/C] 3052 나머지

https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 1. 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 2. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 3. 출력 첫째 줄에, 42로 나누..

상일동
코딩의 발자국