목록분류 전체보기 (40)
개발계발
객체 지향 프로그래밍이란?부품에 해당하는 객체들을 먼저 만들고, 이 객체들을 하나씩 조립해서 완성된 프로그램을 만드는 기법이다 객체란?물리적인 존재 혹은 개념적인 존재 등 다른 것과 식별 가능한 것을 말한다.ex) 자동차, 자전거, 책, 강의, 주문 등 - 객체는 속성과 동작으로 구성된다. 예를 들어 사람이라는 객체는 "이름, 나이 등"의 속성이 있고, "웃다, 걷다" 등의 동작이 있다.- 자바에서는 속성 == 필드, 동작 == 메소드 라고 한다. 운전하는 프로그램 생성 예시- 사람 객체- 자동차 객체(엔진 객체, 타이어 객체, 핸들 객체 등등) -> 위의 그림처럼 엔진, 타이어, 핸들 객체가 모여 자동차 객체를 이루고, 사람이 해당 객체를 이용함으로써 운전하는 프로그램이 완성된다.객체 지향 프로그래밍..
문제 설명 및 제한사항은 너무 길어서 생략. 아래 링크 참조https://school.programmers.co.kr/learn/courses/30/lessons/87377 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 접근 방식 11. 아래 식을 참고해서 교점을 구해 교점을 집합에 넣는다(중복 제거를 위해 집합 사용)2. 분모가 0일 경우 예외처리를 해준다.3. x축의 길이와 y축의 길이를 구해 2중 for문의 범위를 정한다.4. 2중 for문을 돌면서 (i, j)가 교점인 경우 *을 찍고 아니면 .을 찍는다.5. answer에 append한 후 반환한다...
문제 설명 제한사항 접근방식1 - 입력받은 문자열의 각 문자에 네 가지 발음중 하나라도 포함돼있는지 확인 - 있을 해당 문자를 replace를 이용해 제거하고 계속 확인 풀이코드1(틀림) def solution(babbling): words = ["aya", "ye", "woo", "ma"] result = [] for babb in babbling: original = babb for word in words: babb = babb.replace(word, "") if babb == "": result.append(original) return len(result) - "wyeoo"가 들어가면 "we"가 제거되고 "w"랑"oo"가 붙어버려서 제거된다(원래는 말할 수 없는 단어임) 접근방식2 - 위 코드..
문제 설명 제한사항 접근방식 - lines 배열을 정렬 - 겹치는 구간을 저장할 배열 생성, True / False로 기록 풀이코드 def getOverlab(line1, line2): if line1[1] > line2[0]: if line1[1] > line2[1]: return line2 else: return [line2[0], line1[1]] else: return [] def checkOverlab(lst, case): if case: for i in range(case[0], case[1]): lst[i] = True return lst def solution(lines): answer = 0 lines.sort() tmp = sum(lines, []) min_num = min(tmp) m..
문제 설명 제한사항 접근방식 - 딕셔너리를 이용해서 각 주사위의 숫자와 등장한 횟수를 기록 - 등장한 횟수를 정렬해서 경우의 수를 나눠서 풀이 풀이 코드 def solution(a, b, c, d): answer = 0 dice_dic = {} for i in range(1, 7): dice_dic[i] = 0 dice_dic[a] += 1 dice_dic[b] += 1 dice_dic[c] += 1 dice_dic[d] += 1 sorted_dice = sorted(dice_dic.items(), key = lambda x : x[1], reverse = True) print(sorted_dice) if sorted_dice[0][1] == 4: answer += 1111 * sorted_dice[0]..
문제 설명 제한사항 접근방식 - 안전지역을 표시할 2차원배열 생성 - board의 모든 원소를 검사 - board의 원소가 1이면 만들어놓은 2차원배열의 동,서,남,북, 대각선을 모두 위험지역으로 표시 - 생성한 2차원배열의 안전지역 count해서 반환 풀이 코드 def solution(board): answer = 0 n = len(board) safe_board = [[0] * n for _ in range(n)] directions = [(-1, -1), (-1, 0), (-1, 1), (0, -1), (0, 1), (1, -1), (1, 0), (1, 1)] for i in range(n): for j in range(n): if board[i][j] == 1: safe_board[i][j] = ..