반응형

Q1

 

Q1 출력

 

 

 

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>quiz-1</title>
    <link rel="stylesheet" href="./css/quiz-4.css" />
  </head>
  <h1>이미지 삽입하기</h1>
  <img src="./imgs/umbrella.jpg"   alt="img fail">
  </h1>
  <body></body>
</html>

 

 

 

Q2

 

Q2 출력

 

 

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>quiz-2</title>
  </head>
  <body>
    <h1>포털 사이트로 이동하기</h1>
    <img src="./imgs/img.png" alt="네이버" />
  </body>
</html>

 

 

Q3

Q3 출력

NAVER 버튼 클릭시 네이버로 이동

 

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>quiz-2</title>
  </head>
  <body>
    <h1>포털 사이트로 이동하기</h1>
    <a href="https://www.naver.com/">
      <img src="./imgs/img.png" alt="네이버" />
    </a>
  </body>
</html>

 

반응형

'프로그래밍 공부 > HTML + CSS' 카테고리의 다른 글

HTML5 + CCS3 연습문제 2강  (0) 2023.06.12
반응형

Q1.  

Q1 출력

 

QUIZ-1.HTML

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>quiz2-1</title>
    <link rel="stylesheet" href="./css/quiz-1.css" />
  </head>
  <body>
    <img class="seoul_logo" src="./img/seoul_logo.jpg" alt="서울로고" />
    <div class="inline-content">
      <h1>서울특별시</h1>
      <p><b>서울의특별시 서울의 지향 이미지 : 역사와 활력의 인간도시</b></p>
      <div>
        <i>
          휘장은 한글 '서울'을 서울의 산, 해, 한강으로 나타내면서 전체적으로는
          신명나는 사람의 모습을 형상화한 것으로 인간 중심도시를 지향하는 서울을
          상징합니다.
        </i>
      </div>
    </div>

    <p>
      자연 - 인간 - 도시의 맥락 속에서<br />녹색 산은 환경사랑,청색 한강은
      역사와 활력,<br />
      가운데 해는 미래의 비전과 희망을 함축하고 <br />
      이 세가지 요소를 붓터치를 자연스럽게 연결하여 <br />
      서울의 이미지와 사람의 활력을 친근하게 느낄 수 있도록 하였습니다.
    </p>
  </body>
</html>

QUIZ-1.CSS

html,
body {
  margin: 0;
  padding: 0;
}

.seoul_logo {
  display: inline-block;
  width: 300px;
  height: 300px;
}

.inline-content {
  display: inline-block;
  vertical-align: top;
}

.inline-content h1 {
  /* margin-top: 50%; */
}

 

Q2.

Q2 출력

 

QUIZ-2.HTML

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>quiz2-2</title>
  </head>
  <body>
    <h1>이지스퍼블리싱 신입 사원 모집 공고</h1>
    <p>IT 기획, 편집 부서에서 함께 할 신입 사원을 모집합니다.</p>
    <ul>
      <li>모집 직군 : 편집 기획부서</li>
      <li>
        직무 내용 : 도서 프로듀싱 업무 (신입 지원 가능)
        <ul>
          <li>도서 기획, 편집</li>
          <li>도서 홍보, 독자 소통</li>
        </ul>
      </li>
      <li>접수 마감일 : 2016.3.6</li>
    </ul>
    <p>자세한 내용은 공지 게시판을 참고하세요.</p>
  </body>
</html>

 

Q3.

Q3 출력

 

QUIZ-3.HTML

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>quiz-3</title>
  </head>
  <body>
    <div>커피 드립 순서 - 아라비아 숫자</div>
    <ol>
      <li>필터 접기</li>
      <li>분쇄</li>
      <li>불림</li>
      <li>추출</li>
    </ol>

    <div>커피 드립 순서 - 알파벳 소문자</div>
    <ol type="a">
      <li>필터 접기</li>
      <li>분쇄</li>
      <li>불림</li>
      <li>추출</li>
    </ol>
  </body>
</html>

 

Q4.

Q4 출력

 

QUIZ-4.HTML

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>quiz-4</title>
    <link rel="stylesheet" href="./css/quiz-4.css" />
  </head>
  <body>
    <table>
      <caption>
        <b>주요 SNS 서비스별 이용률(%)</b>
      </caption>
      <tr>
        <th></th>
        <th>페이스북</th>
        <th>카카오스토리</th>
        <th>밴드</th>
        <th>인스타그램</th>
        <th>트위터</th>
      </tr>
      <tr>
        <th>2015년</th>
        <td>77.1</td>
        <td>58.3</td>
        <td>32.4</td>
        <td>16.7</td>
        <td>22.1</td>
      </tr>
      <tr>
        <th>2016년</th>
        <td>73.8</td>
        <td>51.0</td>
        <td>40.1</td>
        <td>28.1</td>
        <td>14.7</td>
      </tr>
    </table>
  </body>
</html>

QUIZ-4.CSS

html,
body {
  margin: 0;
  padding: 0;
}

table,
caption {
  width: 100%;
  border: 1px solid #444444;
}

th,
td {
  border: 1px solid #444444;
}
반응형

'프로그래밍 공부 > HTML + CSS' 카테고리의 다른 글

HTML5 + CSS3 연습문제 3강  (0) 2023.06.13
반응형

자바하고 코틀린의 차이점은 findViewById 함수를 안써도 된다는 점이죠

하지만 xml 파일에 있는 것이 사용이 안되는 경우가 있는데요 

그때는 xml 파일이 임포트가 안된 경우로 xml파일을 임포트하면됩니다.

예를 들어 activity_main.xml에 있는 버튼을 사용하고 싶을때는 아래의 코드를 추가하면 되는데요 

 

import kotlinx.android.synthetic.main.activity_main.*

 

여기서 문제는  kotlinx가 빨간 표시가 나면서 안될때가 있습니다

 

 

 

 

그때 2번째 build.gradle의 plugin에 다음의 코드를 넣으면 sync now 버튼을 클릭하면 해결됩니다.

id 'kotlin-android-extensions'
반응형
반응형

Fragment Actionbar와 기능이 유사한 BottomNavigationview를 공부해봤는데요.

이 요소는 인스타그램 앱등 많은 앱에서 사용될 정도로 사용성이 좋은 요소여서 제가 사용한 예제와 함께 정리해보려 합니다!

 

일단 이 코드를 2번째 bulid.gradle에 추가하고 sync now를 클릭해주세요

//noinspection GradleCompatible
implementation 'com.android.support:design:30.0.0'

 

그리고 BottomNavigationview의 요소가 되는 xml 파일을 만들것인데요

res 폴더 안에 menu폴더를 만들어주신 다음 menu 폴더 안에 menu Resource파일을 추가해주세요!

*전 bottom_navigationview로 이름을 지어서 추가하였습니다!*

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/cat"
        android:icon="@drawable/icon_cat"
        android:title="cat"
        android:enabled="true"/>
    <item
        android:id="@+id/dog"
        android:icon="@drawable/icon_dog"
        android:title="dog"
        android:enabled="true"/>
    <item
        android:id="@+id/horse"
        android:icon="@drawable/icon_horse"
        android:title="horse"
        android:enabled="true"/>
    <item
        android:id="@+id/rabbit"
        android:icon="@drawable/icon_rabbit"
        android:title="rabbit"
        android:enabled="true"/>
</menu>

 

그다음으론 이 BottomNavigationview에 들어갈 요소를 만들었으니 앱의 메인 화면에 BottomNavigationview를 만들어 위의 요소와 연결지으면 됩니다

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
     <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:id="@+id/main_content"
        android:orientation="vertical"
        />
    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/navigationview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:menu="@menu/bottom_navigationview"
        />
</LinearLayout>

app:menu="@menu/xml 파일 이름" 으로 코드를 써주시면 menu와 연동이 됩니다!

 

이제 각 메뉴가 클릭되었을때 나올 화면을 만들것인데요. new -> activity -> empty activity를 눌러 새로운 kotlin파일과 xml파일을 만들어 주시면됩니다!

class cat_fragment : Fragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        var view = LayoutInflater.from(activity).inflate(R.layout.activity_cat_fragment,container,false)
        return view
    }

}

여기서 inflate하는 부분은 당연히 메뉴가 선택했을때 나올 화면을 담은 xml파일이겠죠??

저는 cat,dog,horse,rabbit 다 만들어줬습니다!

 

마지막으로 Mainactivity에 bottomNavigationview를 연결하고 각 메뉴를 눌렀을때 화면이 변경되는 코드를 작성하면됩니다!

 

package kr.ac.kpu.ce2017154024.fragment_practice

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.MenuItem
import com.google.android.material.bottomnavigation.BottomNavigationView
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity(), BottomNavigationView.OnNavigationItemSelectedListener {
    override fun onNavigationItemSelected(item: MenuItem): Boolean {
        when(item.itemId){
            R.id.cat ->{
                var catFragment = cat_fragment()
                supportFragmentManager.beginTransaction().replace(R.id.main_content,catFragment).commit()
                return true
            }
            R.id.dog ->{
                var dogFragment = dog_fragment()
                supportFragmentManager.beginTransaction().replace(R.id.main_content,dogFragment).commit()
                return true
            }
            R.id.horse ->{
                var horseFragment = horse_fragment()
                supportFragmentManager.beginTransaction().replace(R.id.main_content,horseFragment).commit()
                return true
            }
            R.id.rabbit ->{
                var rabbitFragment = rabbit_fragment()
                supportFragmentManager.beginTransaction().replace(R.id.main_content,rabbitFragment).commit()
                return true
            }


        }
        return false
    }
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        navigationview.setOnNavigationItemSelectedListener(this)


    }
}

메뉴가 눌렸을 때 linearlayout인 main_content가 바뀌는 알고리즘을

통해서 만들었습니다

반응형
반응형

자바스크립트 적용 1 - day
자바스크립트 적용2 - night

html과의 차이 : <script> </script> 안에 작성함
document.write('ex') : ex라고 화면에 출력함
* html과의 차이점
    1. html은 단순히 표시된 것만 출력함(정적표현) ex) 1+1 -> 1+1로 출력
    2. javascript는 입력된 것을 연산해서 출력(동적표현) ex) 1+1 -> 2로 출력
<input type="button" value="hi"> : hi라고 적힌 button을 생성
(input 안에) onclick="alert('hi)" : 버튼 클릭 시 hi가 적힌 경고창을 발생시켜줌
//onclick : 마우스가 해당버튼을 클릭했을 때 이벤트를 발생시킴(뒤에 자바스크립트 함수만 올 수 있음), alert : 경고창을 발생시켜줌
(input 안에) onchange="alert('changed') : 해당 창 안에 변화 발생 시 'changed'라고 적힌 경고창을 발생시켜줌
(input 안에) onkeydown="alert('keydown') : 키보드에서 문자가 입력되면 'keydown'이라고 적힌 경고창을 발생시켜줌(키 인식 이벤트)
* 데이터 타입
    1. number : 숫자데이터, 산술연산 가능
    2. string : 문자열, ''나 ""로 사용, 함수 : .length - 문자열 길이, .toUpperCase() - 문자열 대문자화, .indexOf() - 문자열에서 해당 문자 찾음
    3. 변수 : 바뀔 수 있는 어떤 값 ex) var x = 1; //var 태그는 변수를 정의할 때 사용
    4. 배열 : 같은 타입(구조)의 자료형들로 이루어진 집합 ex) var coworkers = ["park", "kim"];
//배열함수 push(끝에항목추가), pop(끝항목제거), shift(처음항목제거), unshift(앞에항목추가), indexOf(인덱스검색), splice(위치항목제거), slice(복사), length(길이) 등
* 연산
    - 비교연산자(boolean) : ===, <, >
* 반복문
    - 일반 프로그래밍 언어의 반복문과 유사
* 함수
    - 동일한 기능을 여러번 쓰기 편하게 해줌
    - 매개변수 : 함수에 이용할 변수
    - 리턴 : 함수가 결과값을 반환함
    ex) function sum_Red(left, right) { document.write('<div style = "color:red"> + (left+right)+'</div><br>'); }
var el = document.querySelector(".myclass") : 문서에서 myclass라는 클래스를 사용하는 첫 번째 요소를 반환함
.style : style 속성을 포함한 css 선언을 담은 객체를 반환
.backgroundColor="red" : 배경색을 red로 지정
조건문 : 일반적인 언어의 조건문과 유사 //if(조건){코드}else{코드}
* 원하는 버튼의 value 값 가져오기(id이용)
var value = document.getElementById(id).value;
* 버튼 클릭 시 이벤트 넣기 : 한 버튼을 클릭하면 상태를 받아 변화시킴
ex) <input id="day_status" type="button" name="status" value="change night" onclick="
    if(document.querySelector('#day_status').value === 'change night'){
        document.querySelector('body').style.backgroundColor = 'black';
        document.querySelector('body').style.color = 'white';
        document.querySelector('#day_status').value = 'change day';
    } else {
        document.querySelector('body').style.backgroundColor = 'white';
        document.querySelector('body').style.color = 'black';
        document.querySelector('#day_status').value = 'change night';
    }">
리팩토링 : 코드에 중복을 제거하고 가독성을 높이는 것
this : this 키워드 태그로 묶여진 코드 안에 있는걸 가리키는 키워드
객체 : 여러 속성을 하나의 변수에 저장할 수 있는 데이터 타입
* 객체 특징 (참조 : https://velog.io/@surim014)
    1. 객체는 변수이다. 그러나 객체에는 많은 값이 포함될 수 있다.
    2.(자바스크립트 변수처럼 단일 값을 포함 할 수 있다.)
    3. 객체는 중괄호 표기를 이용하여 만들 수 있다.
    4. 객체는 각각의 key/value에 대한 정보를 나열할 수 있다.
    5. Key는 문자열 또는 기호여야 한다.
    6. Value는 모든 유형이 될 수 있다.
    7. 객체는 한 쌍의 key/value 뒤에 쉼표를 이용하여 그 뒤에 오는 key/value와 구분해주어야 한다.
    8. 객체에서 명명된 값을 Properties라고 한다.
    9. 변수는 예약어의 이름을 가질 수 없지만 객체는 어떠한 이름이어도 상관없다.
    10. 객체 변수를 복사하면 참조가 복사되고 객체가 복제되지 않는다.
객체에 변수 담기 : ex) var coworkers = { "programmer":"daniel", "designer":"kim" };
객체 변수에 접근 : ex) coworkers.programmer; or coworkers["programmer"]; == "daniel"
객체 추가하기 : ex) coworkers.bookkeeper = "david"; or coworkers["bookkeeper"] = "david";
객체 불러오기(반복문) : ex) for(var key in coworkers) { coworkers[key] }
객체에 함수 담기 : ex) coworkers.함수이름 = function() { for(var key in this) { this[key] } //coworkers.함수이름()으로 실행
color 를 지정하는 js 파일을 따로 만들고 <script src="파일이름.js"></script> 형식으로 불러와 쓸 수 있음
라이브러리 : 자주 사용하는 코드들을 재사용할 수 있는 형태로 가공해서 프로그래밍 효율을 높여주는 코드들
JQuery : 엘리먼트를 선택하는 강력한 방법과 선택된 엘리먼트들을 효율적으로 제어할 수 있는 다양한 수단을 제공하는 자바스크립트 라이브러리
구글의 자바스크립트 라이브러리 사용
head 태그 안에 추가-> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
* 사용
    1. $('a') : 모든 a태그를 선택
    2. .css(propertyName, value) : .css로 선택한 요소의 css 속성값을 가져오거나 속성을 추가함

예제용 페이지 : https://naughty-bardeen-303e92.netlify.app/

 

Web - index

html CSS JavaScript Node.js Solidity Hypertext Markup Language (HTML)is the standard markup language for creating web pages and web applications. Web browsers receive HTML documents from a web server or from local storage and render them into multimedia we

naughty-bardeen-303e92.netlify.app

깃허브 주소 : https://github.com/tkdans7589/web-programming-study

 

tkdans7589/web-programming-study

web programmng basic. Contribute to tkdans7589/web-programming-study development by creating an account on GitHub.

github.com

참고한 사이트 : https://kimsfamily.kr/

 

KimsFamily

블록체인, 암호화폐 교육 및 컨설팅, 재태크, 디지털노마드, 유용한정보

kimsfamily.kr

 

반응형

'프로그래밍 공부 > 웹 프로그래밍 공부' 카테고리의 다른 글

css 기본 문법 공부  (0) 2021.07.08
html 기본 문법 공부  (0) 2021.07.08
반응형

from itertools import combinations
countNum, compareNum = map(int,input().split()) // 입력받을 숫자와, 기준 숫자를 입력받는다
a = [0 for i in range(countNum)] // 빈 리스트를 0으로 초기화

a = list(map(int,input().split())) // 리스트에 카드 입력

b = [] // 조합후 입력할 리스트 
c = [] // 기준값을 빼서 입력할 리스트 
d = [] // 기준값을 뺀 후 최소값을 찾을 리스트


b = list(combinations(a, 3)) // 입력받은 카드 중 순서상관없이 3개를 뽑을 경우(조합)
for x,y,z in b:
    c.append(x+y+z) // 뽑은 3개의 수를 더해서 c리스트에 입력
for i in c:
    if compareNum - i >= 0: // 기준값에서 뽑은수를 뺄 때 음수가 나오면 안된다
    d.append(compareNum - i) 
print(compareNum-min(d)) // 원래값을 찾기위한 수식

 

반응형

+ Recent posts