본 포스팅은 학교에서 수업을 듣고 정리한 내용입니다. 수식 상수, 변수, 연산자의 조합 연산자와 피연산자로 나누어진다. 연산자의 분류 연산자 의미 대입 = 오른쪽을 왼쪽에 대입 산술 + - * / % 사칙연산과 나머지 연산 부호 + - 증감 ++ -- 증가, 감소 연산 관계 > = 비트별 AND, OR, XOR, 반전, 이동 sizeof 연산자 sizeof 자료형이나 변수의 크기를 바이트 단위로 반환 형변환 (type) 변수나 상수의 자료형을 변환 포인터 연산자 * & [] 주소계산, 포인터가 가리키는 곳의 내용 추출 구조체 연산자 . -> 구조체의 멤버 참조 단항 연산자 -> 피연산자의 수가 1개 이항 연산자 -> 피연산자의 수가 2개 삼항 연산자 -> 피연산자의 수가 3개 산술 연산 컴퓨터의 가장 기..
본 포스팅은 학교 수업을 듣고 정리한 내용입니다. 웹 개요 웹의 기본 목적과 구성 웹의 기본 목적 다른 여러 컴퓨터에 문서를 공유하거나 보는 목적 웹에서 다루는 문서를 웹 문서라고 부른다. 웹의 구조 인터넷을 활용하여 거미줄처럼 연결된 정보 소통 망, World Wide Web 웹 문서를 인터넷 상의 컴퓨터들끼리 주고 받는 네트워크 시스템 웹서버와 웹 클라이언트 컴퓨터들로 구성 웹 서버 웹 사이트를 탑재하는 컴퓨터, 구글(www.google.com), 네이버(www.naver.com) 등 웹 문서, 이미지, 동영상 등의 데이터 저장 관리 웹 클라이언트의 요청을 받아 웹 문서 전송 웹 서버로 작동하도록 하는 소프트웨어 실행 웹 클라이언트 사용자 인터페이스 담당 웹 서버에 웹 문서를 요청하고 받아 사용자에게..
문제 https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 어떻게 풀 것인가? 오랜만에 알고리즘 포스팅을 하는 것 같다. 코테 실패 이후 다시금 알고리즘 공부를 빡세게 해야할 것 같다. 이번에는 로또문제이다. 다만 문제를 읽어보자. 1 ~ 49개의 숫자중에 K개의 수를 뽑아서 이중에서 또 6개의 숫자를 골라야한다. 즉, 조합 문제이다. 이 문제의 경우 백트레킹이나 재귀를 이용한 조합 알고리즘을 이용한다면 쉽게 풀 수 있다. static v..
프리코스 4주차 시작 프리코스 4주차를 진행하면서이번 주 미션은 한마디로 요약하면 "객체는 객체답게 그리고 예외는 꼼꼼하게"라고 말할 수 있을 것 같습니다. [피드백을 공부하면서] 프리코스를 받았을 때, 1,2,3주 차에서 했던 실수를 하지 않기 위해서, 피드백을 다시 읽어보면서 공부하는 시간을 가졌을 때, 3주 차에서 "객체는 객체답게 사용한다"라는 피드백을 읽어보면서 크게 감명을 받아서 이번 4주 차에서는 그러한 부분을 최대한 반영할 수 있게 노력했습니다. 지난 3주 차 때 어려웠던 부분에 대해서 다시 상기해 보자면. private로 선언된 변수의 사용이었습니다. 너무나 당연한 부분인데도, 지금 다시 생각해 보면 왜 그렇게 어려웠는지 잘 모르지만, 아마도 객체는 객체스럽게라는 말의 의미를 잘 몰랐던 ..
프리코스 3주차 시작 프리코스 3주차를 진행하면서이번 3주 차 때는 지난 주차를 수행하면서 실수했던 부분을 최대한 보완하기 위해서 많은 노력들을 기울였습니다. 지난 2주 차 때 부주의로 인해서 함수명에 불용어를 쓰거나 테스트에 있어서 작은 단위 테스트를 진행하지 못했던 실수들이 잦았기에 이번 주차에는 그런 점들을 보완하여 최대한 신경을 많이 썼습니다. 우선 기능명세서 부분부터 다시 공부를 시작하였습니다. Todo 형식으로 작성하여, 피드백에 맞게 처음에는 크게 작성하려고 노력하였습니다. 이후에 미션을 수행하면서 충분히 고쳐나갈 수 있다고 생각하였기 때문입니다. 이후에는 객체로 나누어 프로그램의 진행 과정에 맞춰서 기능 명세서를 작성하였습니다. 이는 블로그와 우아한테크코스 디스코드에 많은 지원자분들 올려주..
우아한테크코스 프리코스 2주차의 시작 메일을 받고나서 함수분리와 함수별로 테스팅에 대한 강조성이 두드러진다. 또한 1주차 공통 피드백이 왔다. 대외비인지 아닌지는 잘 몰라서 링크는 따로 올리지 않겠다. 다만, 함수의 분리와 변수명, 함수명에 대한 중요성과 기본적인 깃 커밋, 그리고 테스팅과 코드 컨벤션과 Kotlin Collections 사용 권유 등이 적혀있었다. 하지만 결론부터 말하자면, 나의 경우는 함수별로 테스팅에 대한 부분이 많이 부족했다. 미션의 경우 https://github.com/ois0886/kotlin-racingcar-6 GitHub - ois0886/kotlin-racingcar-6: 자동차 경주 미션을 진행하는 저장소 자동차 경주 미션을 진행하는 저장소. Contribute to..
문제 https://www.acmicpc.net/problem/3109 3109번: 빵집 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 www.acmicpc.net 어떻게 풀 것인가? 문제를 읽어보면 그래프DFS 관련된 문제라는 것을 알 수 있다. 다만, 문제의 경우 문제 요구 사항을 보면 그리디를 요구한다. 가스관과 빵집을 연결하는 파이프라인의 최대 개수로 나올 수 있는 방법은 무엇일까에 대해서 고민을 많이했다. 그래서 열을 이용한다는 것에 착안하였다. 결국엔 위에서부터 차근차근 되는 것부터 게산하면 된다. (이것이 그리디인가 싶다.) 배열 한 곳에서 오른쪽 위, 오..
본 포스팅은 학교에서 수업을 듣고 정리한 내용입니다. 변수 변수는 프로그램에서 일시적으로 데이터를 저장하는 공간이다. 변수는 데이터가 입력되면 어딘가에 저장해야하만 다음에 사용할 수 있기에 필요하다. 변수와 상수 변수(variabel) : 저장된 값이 변경이 가능한 공간 상수(constant) : 저장된 값이 변경이 불가능한 공간 Ex) /* 원의 면적을 계산하는 프로그램 */ #include int main(void) { float radius;// 원의 반지름 float area;// 원의 면적 printf("원의 면적을 입력하시요:"); scanf("%f", &radius); area = 3.141592 * radius * radius; printf("원의 면적: %f \n", area); retu..
https://superohinsung.tistory.com/252 [SangSangstagram] 안드로이드 로그인 화면 구성 및 디자인 지난 프로젝트에 대한 회상 겸 정리할 겸 작성을 해보았다. (물론 너무 오랜 시간이 지나긴했지만...) 작년에 했던 팀플 과제였지만, 그래도 나름? 잘했던 것 같아서 몇몇 기능만 블로그에 리뷰로 superohinsung.tistory.com 지난 번에 로그인 화면에 디자인에 대해서 글을 작성하였고, 이번에는 본격적으로 기능에 대해서 작성을 할 생각입니다. LoginActivity 액티비티에서는 우선 Ui 작동에 필요한 기능들을 포함하고 있습니다. companion object { fun getIntent(context: Context): Intent { return ..
사칙연산 변수 x와 y에 20과 10을 저장하고 x+y, x-y, x*y, x/y을 계산하여서 변수에 저장하고 이들 변수를 화면에 출력하는 프로그램을 작성 #include int main(void) { int x;// 첫 번째 정수를 저장할 변수 int y;// 두 번째 정수를 저장할 변수 int sum, diff, mul, div;// 두 정수 간의 연산의 결과를 저장하는 변수 x = 20;// 변수 x에 2을 저장 y = 10;// 변수 y에 10을 저장 sum = x + y;// 변수 sum에 (x+y)의 결과를 저장 diff = x - y;// 변수 diff에 (x-y)의 결과를 저장 mul = x * y;// 변수 mul에 (x*y)의 결과를 저장 div = x / y;// 변수 div에 (x/..
본 포스팅은 학교에서 수업을 듣고 정리한 내용입니다. 프로그램 개발 과정 복잡한 프로그램을 만들 때는 위와 같은 세부적인 과정을 거치게 된다. 설계 문제를 해결하는 알고리즘을 개발하는 단계 순서도와 의사 코드를 도구로 사용 알고리즘은 프로그래밍 언어와는 무관 알고리즘은 원하는 결과를 얻기 위하여 밟아야 하는 단계에 집중적으로 초점을 맞추는 것 소스 작성 알고리즘의 각 단계를 프로그래밍 언어를 이용하여 기술 알고리즘을 프로그래밍 언어의 문법에 맞추어 기술한 것을 소스 프로그램(Source Program) 소스 프로그램은 주로 텍스트 에디터나 통합 개발 환경을 이용하여 작성 소스 파일 이름 : Ex) test.c 컴파일 소스 프로그램을 오브젝트 파일로 변환하는 작업 오브젝트 파일 이름 : Ex) test.o..