no image
[C 이론] 17. 구조체
구조체(Structure) 사용자가 C언어의 기본 타입을 가지고 새롭게 정의할 수 있는 사용자 정의 타입 기본 타입만으로는 나타낼 수 없는 복잡한 데이터를 표현할 수 있다. 멤버 변수 (member vaiable) : 구조체를 구성하는 변수 배열 🆚 구조체 배열 : 같은 타입의 변수 집합 구조체 : 다양한 타입의 변수 집합 구조체 정의와 선언 struct student { int number; char name[10]; double grade; }; // 구조체 정의 int main(void){ struct student s1; // 구조체 변수 선언 ... } 이름 없는 구조체 선언 구조체를 정의할 때 태그 이름을 생략할 수 있다. 이 경우 구조체의 이름이 없으므로 구조체 변수를 구조체 정의와 함께 선..
2021.06.23
no image
[알고리즘 일기] 53. 폰켓몬
코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr Programmers. 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 ..
2021.06.22
no image
[C 이론] 16. 파일 입출력
파일(file) 일련의 연속된 바이트(byte) 모든 파일 데이터들은 결국 바이트로 바뀌어서 파일에 저장된다. 바이트들을 어떻게 해석하느냐에 따라 파일의 내용이 달라진다. 이진 파일(binary file) 이진 파일은 사람이 읽을 수 없으나 컴퓨터는 읽을 수 있는 파일 이진 데이터가 직접 저장되어있는 파일 이진 파일은 텍스트 파일과 달리 라인들로 분리되지 않는다. 이진 파일은 특정 프로그램에 의해서만 판독가능하다.└ EX. 실행 파일, 사운드 파일, 이미지 파일 파일 처리 디스크 파일은 FILE 구조체를 이용하여 접근 FILE 구조체를 가리키는 포인터를 파일 포인터(file pointer) 라고 한다. 파일 열기 파일 모드 : 파일을 열어 수행할 작업 명시 파일 모드 💡 추가 모드(append mode)..
2021.06.22
no image
[C 이론] 15. 표준 입출력
표준 입출력 스트림 스트림(Stream) : 입력과 출력을 바이트(byte)들의 흐름으로 생각하는 것 입출력 함수의 분류 printf() 플래그 : 입/출력시 입력 형식을 지정하는 것 플래그 활용 💡+: 양수이면 "+"를 붙여서 출력한다.(음수는 기본적으로-붙여서 출력한다!) -: 왼쪽 정렬해서 출력한다. 필드폭(width)과 정밀도(precision) 💡기본적으로 소수는소수점 아래 6자리가 기본이고반올림하여 표시한다! 형식 지정자 scanf() 문자열을 제어문자의 형태에 맞춰 사용자에게 입력받는다. 💡_scanf()_사용시, 입력값을 저장할 변수의 주소를 전달한다!! scanf("%d", x);// ERROR ! 문자와 문자열 입력 💡문자 입력 : 형식 지정자에 공백이 있으면 입력내용에서 공백을 기준으..
2021.06.22
no image
[알고리즘 일기] 52. 오픈채팅방
코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr Programmers(2019 카카오 블라인드 리크루팅). 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. "[닉네임]님이 들어왔습니다." 채팅방에서 누군가 나가면 ..
2021.06.21
no image
[알고리즘 일기] 51. 완주하지 못한 선수
코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr Programmers. 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 주의사항 * 마라톤 경기에 참여한 선수의 수는 1명 이상 100,0..
2021.06.20
no image
[알고리즘 일기] 50. 크레인 인형뽑기 게임
코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr Programmers(2019 카카오 겨울 인턴). 크레인 인형뽑기 게임 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 ..
2021.06.19
no image
[알고리즘 일기] 49. 키패드 누르기
코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr Programmers(카카오 인턴). 키패드 누르기 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 1. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 ..
2021.06.18
no image
[알고리즘 일기] 48. 2016년
코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr Programmers. 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 주의사항 *..
2021.06.17