본 포스팅은 학교 수업을 듣고 정리한 내용입니다. 하이퍼링크와 항해 하이퍼링크 만들기 태그의 href 속성을 이용하여 하이퍼링크 작성 하이퍼링크(hyperlink) 란? 다른 HTML 페이지의 연결 고리 같은 웹 사이트의 다른 HTML 페이지 다른 웹 사이트의 HTML 페이지 모두 연결 가능 하이퍼링크는 텍스트나 이미지로 작성 항해 하이퍼링크를 따라 다른 웹 페이지를 방문하는 것 하이퍼 링크 만들기 링크 만들기 포털 사이트 네이버 다음 링크의 target 속성 활용 링크의 target 속성 활용 W3C(새 윈도우, _blank) 전자신문(현재 윈도우, _self) 네이버(부모 윈도우, _parent) 매일 경제 신문(브라우저 윈도우, _top) 태그의 id 속성으로 앵커 만들기 앵커? HTML 페이지 내..
본 포스팅은 학교 수업을 듣고 정리한 내용입니다. HTML5 개요 HTML5 페이지의 기본 구조 문서의 본문 텍스트, 이미지 테이블, 자바스크립트 코드, 동영상 등 HTML5 페이지의 필수 태그 - HTML5 문서임을 알리는 태그 , 페이지에 타이틀을 다는 예제입니다. 타이틀은 브라우저의 타이틀바에 보여집니다. , ...., 태그로 문단 제목 달기 1장 홈페이지 만들기 1절 HTML 언어 1. 웹 1.1 인터넷 1.1.1 네트워크 1.1.1.1. 통신 title 속성으로 툴팁 달기 1장 홈페이지 만들기 1절 HTML 언어 로 단락 나누기 2개의 단락 나누기 HTML 문서도 본문을 여러 단락으로 나눌 수 있다. CSS 스타일을 사용하면 단락 단위로 내어 쓰기와 들여쓰기가 가능하다. 여러 개의 빈 칸은 하나..
본 포스팅은 학교에서 수업을 듣고 정리한 내용입니다. 수식 상수, 변수, 연산자의 조합 연산자와 피연산자로 나누어진다. 연산자의 분류 연산자 의미 대입 = 오른쪽을 왼쪽에 대입 산술 + - * / % 사칙연산과 나머지 연산 부호 + - 증감 ++ -- 증가, 감소 연산 관계 > = 비트별 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..
문제 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..
안드로이드 XML View에 대한 구성 우선 이메일과 비밀번호 입력 그리고 메인 타이틀을 배치하였다. 전체적인 뷰는 RelativeLayout으로 구성을 하였는데, 당시에는 여러개의 LinearLayout으로 구성을 하려고 생각하였기에 이렇게 하였다. 나중에 드는 생각이지만 그냥 ConstraintLayout으로 할껄 그랬다. 이때 당시에 이메일과 비밀번호의 입력에 대해서 고민을 많이 하였다. 왜냐하면 실제 유효하지 않은 이메일 패턴과 비밀번호 패턴을 입력할 시에 예외처리를 내부적으로 하기보다는 사용자 Ui에 직접 보여주고 싶었기 때문이다. 그리고 Hint나 부가적인 효과 또한 필요하였다. 그래서 위와 같이 TextInputLayout을 이용하였다. TextInputLayout이란 Android Text..
문제 https://www.acmicpc.net/problem/11066 11066번: 파일 합치기 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본 www.acmicpc.net 어떻게 풀 것인가? 문제를 읽으면서 방향성 자체는 DP로 잡았다. DP에서 중요한 것은 점화식이다. 그래서 우선적으로 그냥 바텀업 방식과 메모제이션으로 문제를 풀었다. 메모이제이션 (Memoization) 이란? DP를 구현하는 방법 중 한 종류이다. 한 번 구한 결과를 메모리 공간에 메모해두고 --> 같은 식을 호출하면 메모한 결과를 그대로 가져오는 기법이다. (값을 기록해 놓는다..