보호되어 있는 글입니다.
7.8 다형성 사용방법은 동일하지만 실행결과가 다양하게 나오는 성질. 객체 사용방법 동일 => 동일한 메소드를 가지고 있다는 것 => 부모의 메소드 동일하게 가지고 있음. but 성능 diff. => 오버라이딩한 메소드, 메소드 재정의 자동타입변환 + 메소드 오버라이딩 = 다형성 *필드 다형성*필드 타입은 동일하지만(사용법 동일), 대입되는 객체가 달라져서 실행결과가 다양하게 나올수 있는것package ch07.sec08.exam01;public class Tire { //메소드 선언 public void roll() { System.out.println("회전합니다."); }}package ch07.sec08.exam01;public class HankookTire ex..
import sys input = sys.stdin.readline heights = list() for _ in range(9): heights.append(int(input())) heights.sort() removed = False for i in range(8): if removed: break for j in range(i + 1, 9): # Fix the range here if sum(heights) - (heights[i] + heights[j]) == 100: heights.pop(j) heights.pop(i) removed = True break for n in heights: print(n) 일단 코드에서 계속 오류가 나는 걸 이해 못해서 챗지피티의 힘을 빌렸다. 근데 웬걸,, 내..
프로젝트가 끝나고, kosa에서 어쩌다보니 코로나를 걸려와 수업도 온라인으로(사실 아파서ㅠ 제대로 못들음) 듣고, 공부를 못했다..! 반성 중이다... ㅠ 31일에 있는 코딩테스트 공부도 할 겸, 깃허브 잔디도 심을 겸, 백준을 켜서 문제를 풀었다. 머리가 말랑말랑한 기분..! for i in range(int(input())): r,s = map(str, input().split()) r = int(r) for i in range(len(s)): print(s[i]*r, end = '') print() 간단하게 중복 for 문을 써서 푸는 문제였다. 근데 아무리 생각해도 안틀려서 왜 틀렸다고 하는 거지 하고 찾아봤더니 마지막에 줄바꿈을 위한 print() 를 안써서였다.허허허 30일까지 수업도 열심히 ..
하드 코딩으로 카카오페이 창을 띄우는 것은 성공, 엔티티에서 정보를 읽어와서 띄우는 것은 못함.( 이게 엔티티를 안건들고, 컨트롤러, 서비스만 활용해서 되는지 잘 생각해보기) 처음 생각한 방식 1. Payment 엔티티를 새로 만들어서 payment 관련된 정보들을 다 넣어줌. 2. order와 연결해서 정보들을 싹 불러옴.. ..? 두번째 생각한 방식 1. order entity에 컬럼 추가 컬럼 pay_status를 추가해서 결제완료된것 확인하기 --> 2. 굳이 있어야 할 이유가 있을까?_ 그냥 결제가 되어야지만 orderstatus를 COMPLETED로 바꾸게 되게 만들면 되는 거 아닌가? 3. 근데 그러면 orderstatus로 다 짜여졌던 로직들은 어떻게 되는 건지..! 4.... 세번째 생각..
n,m = map(int, input().split()) basket = [] for _ in range(n): basket.append(_+1) for y in range(m): i,j = map(int, input().split()) for x in range(i+1,j+1): basket[x], basket[j+1-x] = basket[j+1-x], basket[x] print(*basket) 처음 짠 코드이다. 값은 올바르게 나오나, runtime error[index error]가 떴다. index error 를 해결하려고 열심히 노력해봤다. n,m = map(int, input().split()) basket = [] for _ in range(n): basket.append(_+1) for ..
numbers = [] for i in range (10): n = (int(input()))%42 if n not in numbers: numbers.append(n) print(len(numbers)) len(리스트)를 알면 쉽게 풀 수 있는 문제였지만, 그 용법을 까먹어서, 검색 후에 풀어낼 수 있었다. 또한 if not in numbers 파트를 그 전 문제에서 계속 썼음에도 불구하고 리스트가 중복 추가된다는 사실을 까먹고, 애먹었다. 기본기가 얼마나 중요한지 깨달았고, 지금 천천히 다시 쌓고 있으니, 잘 할 수 있지 않을까 라는 생각을 했다! count() 와 len()함수에 대해서는 이 블로그에 잘 정리되어 참고했다 https://redcow77.tistory.com/357 [Python] 파..
처음으로 푼 브론즈 2 문제이다. 바로 전에 푼 공 넣기 문제를 챗지피티한테 물어보면서 외운 후에 문제를 풀었더니, 생각보다는 어렵지 않게 해결할 수 있었다. n, m = map(int, input().split()) basket = [1] for z in range(2, n+1): basket.append(z) for y in range(m): i, j = map(int, input().split()) basket[i-1], basket[j-1] = basket[j-1], basket[i-1] for _ in range(n): print(basket[_], end=' ') input 받는 부분은 10810 번과 같으며, 전체적인 구조 상 굉장히 유사하다. 그 중 다른 점은 basket 에 append ..
n,m = map(int,input().split()) basket = [0]*n for _ in range(m): i,j,k = map(int, input().split()) for x in range(i-1, j): basket[x] = k for x in range(n): print(basket[x], end = '') 첫 번째 줄에서 n과 m을 입력으로 받습니다. 이것은 바구니의 수와 공을 넣는 방법의 수를 나타냅니다. basket이라는 이름의 길이가 n인 배열을 생성하며, 모든 요소를 0으로 초기화합니다. 이 배열은 바구니의 상태를 나타내며, 바구니 번호는 1부터 n까지입니다. 다음으로, for 루프를 사용하여 m번의 반복을 수행합니다. 각 반복에서 i, j, k를 입력으로 받습니다. 이들은 다..