목록전체 글 (40)
개발계발
문제 설명2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건- 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.- 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.- 곱할 수 있는 배열만 주어집니다. 접근 방식- 행렬의 곱셈 공식을 알아야 함- a*b 크기의 행렬과 c*d 크기의 곱셈의 결과 행렬의 크기는 a*d이다.- 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일해야한다.- 곱셈한 결과의 1행의 0번 인덱스는[첫번째 행렬의 (0,0) 원소 * 두번째 행렬의 (0,0) 원소] + [첫번째 행렬의 (0,1) 원소 * 두번째 행렬의 (1,0) 원소]-> 즉, 첫번째 행렬은..
타입 변환인터페이스의 타입 변환은 인터페이스와 구현 클래스 간에 발생한다.자동 타입 변환과 강제타입 변환이 있는데, 인터페이스 변수에 구현 객체를 대입하면 구현 객체는 인터페이스 타입으로 자동 타입 변환되고, 인터페이스 타입을 구현 클래스로 타입으로 변환시킬 때는 강제 타입 변환이 필요하다. 자동 타입 변환말 그대로 자동으로 타입 변환이 일어나는 것으로, 아래와 같은 조건에서 일어난다.인터페이스 변수 = 구현객체;위 이미처럼 인터페이스를 구현한 B, C 클래스가 있고, B와 C클래스를 각각 상속한 D, E 자식 클래스가 있을 때,B,C,D,E로부터 생성된 객체는 모두 인터페이스 A로 자동 타입 변환이 가능하다.B,C,D,E가 클래스가 모두 작성됐다고 가정하면 아래와 같이 자동 타입 변환이 가능하다.pub..
이전에 인터페이스에 대해 포스팅했는데, 구현 객체는 여러 개의 인터페이스를 implements할 수 있다.사용법은 아래와 같다.public class 구현클래스 implements 인터페이스1, 인터페이스2 {}이 경우, 구현 클래스는 여러 개의 인터페이스의 추상 메소드를 모두 재정의 해야한다. 인터페이스 상속자바의 클래스는 다중 상속을 허용하지 않으나, 인터페이스는 다중 상속이 허용된다.사용법은 아래와 같다.public interface 자식인터페이스 extends 부모인터페이스1, 부모인터페이스2 { ...}이 경우, 이 자식인터페이스의 구현 클래스는 자식 인터페이스와 모든 부모 인터페이스의 모든 추상 메소드를 재정의해야 한다.단, 구현 객체를 부모 인터페이스 변수에 대입할 경우, 자식 인터페이스의 ..
인터페이스란?두 객체를 연결하는 역할을 하는 것으로, 인터페이스를 통해 객체가 다른 객체를 직접 사용하지 않음으로 다형성 구현에 주된 기술로 이용된다. 예를 들어, 아래와 같이 객체 B가 객체 C로 변경된다 하더라도, 객체 A는 인터페이스의 메소드만 사용하기 때문에 아무 상관이 없다.인터페이스 선언인터페이스는 class 키워드 대신 interface 키워드를 사용한다.(파일 자체는 클래스와 동일하게 .java의 형태)interface 인터페이스명 {...} // default 접근 제한// public 접근 제한public interface 인터페이스명 { // public 상수 필드 // public 추상 메소드(선언부만 있고, 실행부인 중괄호가 없는 메소드) // public 디폴트 메소드..
문제는 아래 링크 참고https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr접근 방식맨해튼 거리 : (r1, c1), (r2, c2)에 위치한 테이블의 맨해튼 거리는 |r1-r2| + |c1-c2|P : 응시자O : 빈 테이블X : 파티션거리두기 : 응시자 사이에 파티션이 있거나, 맨해튼 거리가 3이상이여야 함거리두기를 지킬경우 1, 아니면 0을 배열에 담아 반환 메인 함수1. 입력받은 places의 원소(1차원 배열)하나씩 거리두기 함수에 넘김2. 거리..
문제 설명 제한사항- n은 1 이상 1,000 이하이다. 접근 방식1. 길이가 1인 것부터 n인 것까지 2차원배열을 생성2. 숫자를 채운다(숫자의 최댓값은 n * (n+1) // 2)2-1. 방향을 나눈다. 내려갈때(1,0), 오른쪽(0,1), 올라갈 때(-1,-1)3. graph를 1차원 배열로 바꿔서 return def snail_graph(graph): n = len(graph) max_value = n * (n + 1) // 2 number = 1 x, y = 0, 0 direction = "down" moves = {"down": (1, 0), "right": (0, 1), "up": (-1, -1)} graph[x][y] = number while n..