HCD 랩스 9월 3주차

우영·2025년 9월 10일

HDC 랩스 풀스택 1기

목록 보기
4/20

9/15

Today
1. api 및 파이썬
assignment

  1. List 공부(이해 X), 예제 ArrayListExam2, 예제 1 CollectionExam, Person

  • String
    • 객체 new String("java")
    • 리터럴 String str = new ""
  • 문자열이 빈번하게 사용되는 곳에서는 String 보다는 StringBuffer나 StringBuilder가 사용됨. (동시접속이 되냐 안되냐의 차이)
  • 예제1 - SystemTest
  • 예제2 - StringBufferTest
  • 예제3 - StringStringBufferTest

  • 배열의 문제점 : 수정이 불가능(늘리지 못함)

  • 12장 컬렉션 프레임워크 - 스택, 큐 기본 구조, 알고리즘 자바 선택 시 알아야함. -> DB에 저장하기 전에 메모리에 잠깐 저장하는 용도

  • Collection

    • List(중복 가능) : 선형리스트, 웹 Arraylist, Vector, Stack, Queue(LinkedList)
    • Set(집합 중복 불가능) : HashSet
  • Map(키와 값) : Web 내부의 데이터 보관하는 객체 -> 전부 Map 구조, 대표적으로 HashMap, Properties

  • 예제1 java.util.Vector.VectorTest1

    • 1.Vector 생성
      			Vector<E>는 Vector에 저장되는 요소의 타입
      			=> Generic을 적용해서 Vector(모든 자료구조)에 저장되는 요소의 타입을 지정하고 작업
      			=> Generic에서 쓸 수 있는 데이터의 타입은 참조형타입만 가능

  • 예제1 ArrayListTest1 //ArrayList의 사용방법 = List 구조
    //Vector를 ArrayList로 변경하고 실행해보기
  • 예제2 ArrayListExam1 //Random수 1부터 50까지 5개 발생시켜서 ArrayList에 저장하고 홀수/짝수 판별해서 출력하기

  • 예제3 ArrayListTest2 //ArrayList의 기타 메소드의 사용방법
    //list는 중복이 허용
  • 예제 ArrayListExam2
    • 집가서 다시
  • 파이썬
    • 데이터분석
    • AI
    • 통신
  • 예제4 HashSetTest1 //hashSet //순서가 없음
  • 예제5 HashSetTes2 //집합의 특징 - 합집합, 교집합

  • set : 순서와 상관없이 중복을 허용하지 않는 경우
  • map : 자료를 쌍으로 관리하는 경우
  • 예제 1 CollectionExam, Person
    • 집가서 공부..
  • 예제 2 HashMapTest
    • //Map
      //key와 value를 같이 저장하기 위해서 사용되는 자료구조
      //key와 value를 모든 타입을 정의하고 작업해야 한다.
      //servlet과 jsp(자바웹가술) 내부에서 사용되는 데이터 저장구조는 모두 Map구조

  • 예제1 HashMapExam
  • 예제2 CollectionExam 6 7 8번
    • 이해 안됨

  • 파이썬 VScode
  • 파이썬, 비쥬얼 코드
  • customize innstallation - 모두 default - 설치
  • 설치 경로
  • cmd 창
  • IDLE Shell
  • visual code 설치
    • 폴더, 파일 생성
    • extionsion에서 파이썬이랑 연결하기 위해 설치해야함.
# 한줄 주석문
#한 번에 여러 개의 변수 할당
id, num2, num3 = "bts", 100, 200
print("id:", id)
print("숫자1:", num2)
print("숫자2:", num3)

#파이썬은 변수를 선언할 때 데이터타입을 선언하지 않는다.
print(type(name))
print(type(age))
print(type(grade))

# 여러 줄 출력하기
print('''
      안녕
      지금은
      파이썬 연습중
      ''')
print(False)
  • 예제1 - basicexam.py num1, num2, result에 임의의 값을 넣고 더한 값을 출력

9/16

day
1. 파이썬 제어구문
내일 튜플 함수- 내장함수, 외장함수
assignment
1.공부(이해 X), 예제 ArrayListExam2, 예제 1 CollectionExam, Person


  • 예제 1 module_test
""" 여러줄 주석문
[모듈]
- random은 파이썬에 모듈이라고 부른다. import해서 사용
- 표준 라이브러리에서 제공
- 모듈은 .py파일로 묶어놓은 코드 묶음
- import를 하면 모듈명이 변수처럼 사용할 수 있도록 내부에 등록
- random을 import하면 random은 random모듈안의 모든 객체와 함수를 접근할수 있는 변수 역할을 한다.
"""
  • 예제 2 opr_test #비교연산자, #산술연산자, #논리연산자 - and연산, #or연산
  • 예제 3 datatype_test
    • #bool데이터타입확인
      #bool(값) : 매개변수를 정의된 값을 bool타입으로 변환해서 리턴
      #파이썬 변수를 생성할 때 데이터타입이 결정되지 않고 변수에 값을 할당하면 데이터와 타입이 결정된다.
      #동적으로 변수 할당

  • 예제1 input_output_test
#파이썬에서 표준입출력
#표준입력
num1 = int(input("숫자1: "))
num2 = int(input("숫자2: "))
result = num1 + num2
print("result=", result)
#표준출력
print(num1, num2)  #print에 ,를 이용해서 변수나 여러 값들을 구분해서 출력
print(num1, num2, sep=" ")
print(num1, num2, sep=", ") #print로 출력되는 값과 값 사이에 구분 문자열을 주고 싶은 경우
#한 줄에 여러 값 출력
#end매개변수에 값을 주면 출력이 끝날 때 자동으로 추가할 값을 지정
#end매개변수의 기본값은 /n
print(num1, end=" ")
print(num2, end=" ")
print(result)

  • 예제2 basic_exam // 두 사람이 주사위를 던져 더 큰 수가 나오면 이기도록 작성

  • 예제1 format_fstring_test

  • 파일 복사 붙여넣기

  • 예제 2 list_test1

  • 예제 3 list_exam2


  • 예제 1 list_test2
  • 예제 2 list_test3

  • 리스트 정리
1.list
    - 순서가 있는 데이터 구조
    - 인덱싱과 슬라이싱
    - 저장된 데이터의 수정이 가능
    - 리스트안에 문자열, 정수, 다양한 형태의 데이터를 저장
    - index로 접근
    - index는 0부터 시작, -index사용할 수 있도록 지원
    - []안에 값들로 정의

    1)인덱싱
        - 리스트에 저장된 데이터의 위치를 참조해서 활요
        - 인덱스 0부터
        - 역순으로 접근
    2) 슬라이싱
        - 리스트에서 특정 구간의 요소들을 리턴할 수 있도록 제공
        - 사용방법
          리스트[start,end,step]
          list[4, 10, 2]
               ---------
               end index는 end -1
        - 슬라이싱을 할 때는 []연산자 안에서 작업

    3) 메소드
        - append : 리스트 끝에 요소를 추가
        - reverse : 역순으로 정렬
        - sort: 오름차순정렬
        - pop: 맨 뒤의 요소를 꺼내기 
        - insert(indet, 요소) : index번째 요소를 삽입
        - remove(요소) : 요소삭제
        - index : 지정한 값이 위치하는 리스트의 index를 리턴
  • 예제 3 list_exam3
"""
 1. 리스트에 요소의 갯수를 입력 받고 각 요소에 저장될 값들을 입력받아 리스트를 작성하세요
  리스트의 요소를 몇 개 만들까요? ______5
  리스트에 추가될 값을 입력하세요:_____
  리스트에 추가될 값을 입력하세요:_____
  리스트에 추가될 값을 입력하세요:_____
  리스트에 추가될 값을 입력하세요:_____
  리스트에 추가될 값을 입력하세요:_____
  .....
 2. 1번에서 작성된 리스트의 요소를 0번부터 출력, n-1 번부터 출력
    range를 활용해서 작업하기
    10,20,30,40,50
    50,40,30,20,10

 3. 모든 요소의 합과 평균을 출력하기
    요소의 합:
    요소의 평균:

"""

list1 = []
num = int(input("리스트의 요소를 몇 개 만들까요?")) #int안쓰는 이유
#list에 요소를 추가하기 위한 for
for i in range(num) : # 0 ~num-1
        list1.append(int(input("리스트에 추가할 값을 입력하세요: ")))
print(list1)

#출력을 위한 for
for i in range(0, len(list1), 1):
    print("{}".format(list1[i]), end="")
print("")
print("="*30)
for i in range(len(list1)-1,-1,-1):
    print("{}".format(list1[i]), end="")
print("")
print("="*30)

print("요소의 합:" , sum(list1))
print("요소의 합:" , sum(list1)/num)

print(list1.index(20))

if문 안에서 if문을 중첩해서 사용하기
점수와 시험 횟수를 저장할 변수를 선언하고
점수가 60점 이상이고 시험횟수가 3이하이면 합격
점수는 input으로 입력받기
시험횟수도 input으로 입력받기

점수가 60점 이상이고 시험횟수가 3번 이상이면 재시험

점수가 60점 미만이면 다시시험
중첩if문
jumsu = int(input("점수를 입력하세요:"))
count = int(input("시험 횟수를 입력해주세요:"))

if jumsu >= 60:
        if count <=3:
            print("합격")
        else: 
            print("재시험")
else: 
    print("다시시험")

  • 예제 1 multi_for_exam
  • 예제 2 break_continue_test.
  • 예제 3 multi_for_2dlist_exam

0개의 댓글