코딩 면접

언어/Java

Java(자바) BlockingQueue - Producer 및 Consumer 패턴 예제

Java(자바) BlockingQueue - 설명 ① 멀티 스레드(Multi-Thread) 환경에서 Queue는 다양하게 활용 될 수 있어요.② BlockingQueue를 사용함으로써 Thread-safe 하게 Producer, Consumer 패턴을 구현할 수 있어요.③ 보통 RabbitMQ 등과 같이 메세지 처리 및 Push 처리 기술 분야에 활용 되고 있어요. Java(자바) BlockingQueue - Producer 및 Consumer 소스 코드 원본코드12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273..

언어/Java

Java(자바) 알고리즘 - 문자열로 서로 다른 단어 만들어내기(Anagram)

Java(자바) 알고리즘 - 아나그램(Anagram) 설명 ① Java의 replaceAll, toCharArray, sort 함수를 이용했어요.② 소문자로 변환 후 정렬이 핵심이예요.③ 예를들어 elivs 는 = lives , basic = isabc 와 같이 구성요소가 같으면 아나그램(Anagram) Java(자바) 알고리즘 - 아나그램(Anagram) 소스 코드 원본코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import java.util.Arrays; public class AnagramTest { public static void isAnagram(String a1, String a..

언어/Python

파이썬 알고리즘 - 계단을 오르는 방법 횟수(재귀함수)

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(15) (1). 개발자 면접 트레이닝 - 계단을 오르는 방법 횟수 구하기(재귀함수) ① 재귀함수 숙지 후 실습 ② 응용하면 팩토리얼, 순열 계산 등 여러분야에서 활용된다. (2). 소스 코드 PYTHON #countWays.py def countWays(n): if(n < 0): return 0 elif n == 0: return 1 else: return countWays(n-1) + countWays(n-2) + countWays(n-3) #재귀함수 #만약 4칸의 계단이 있다면 print(countWays(4)) (3). 소스 코드 분석 ① 5 라인 : 재귀함수 countWays 메소드 선언 ② 12 라인 : 함수를 리턴(return) ③ 17 라인 : ..

언어/Python

파이썬 알고리즘 - 비트 위치 A,B 로 비트열 M을 N으로 삽입

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(14) (1). 개발자 면접 트레이닝 - 비트 위치 A,B 로 비트열 M을 N으로 삽입 ① 비트(Bit)구조 이해하는 것이 중요 ② 비트 연산자에 대해서 개념 숙지 후 코딩 실습 ③ 비트열 삽입 관련 코딩 문제는 자주 출제 된다. ④ 예를들어 스택 사이즈가 M = 10011, N = 10000000000 일 경우 i = 1 , j = 7 이 주어졌을 때 결과는 10000100110 출력 (2). 소스 코드 PYTHON #updateBits.py """ N = 10000000000 M = 10011 i = 1 j = 7 output : 10000100110 """ def printBinary(num): b_num = bin(num) print(b_num[2:]..

언어/Python

파이썬 알고리즘 - 스택(Stack)으로 큐(Queue)를 구현하기

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(13) (1). 개발자 면접 트레이닝 - 스택(Stack)을 Set(리스트)으로 구현하기 ① 큐(Queue : 선입선출) 구조 이해하는 것이 중요 ② Enqueue, Dequeue 개념 파악 후 아래 코드 실습 ③ 스택 공간에 데이터가 가득 찰 경우 스택 자체를 리스트로 구성 ④ 예를들어 스택 사이즈가 3, 2, 1 순서로 Enqueue 후 Dequeue 결과는 1, 2, 3 순서로 출력 (2). 소스 코드 PYTHON #two_stack_make_queue.py import unittest class Stack: def __init__(self): self.items = [] self.max = 3 def push(self, item): self.items..

언어/Python

파이썬 알고리즘 - 스택(Stack)을 Set(리스트)으로 구현하기

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(12) (1). 개발자 면접 트레이닝 - 스택(Stack)을 Set(리스트)으로 구현하기 ① 스택(Stack) 구조 이해하는 것이 중요 ② Push, Pop, Peek 개념 파악 후 아래 코드 실습 ③ 스택 공간에 데이터가 가득 찰 경우 스택 자체를 리스트로 구성 ④ 예를들어 스택 사이즈가 3 이라면 [2, 3, 7, 9, 12] 의 스택리스트는 [2, 3, 7] , [9, 12] -> 2개로 구성 (2). 소스 코드 PYTHON #list_of_stack.py import unittest class Stack: def __init__(self): self.items = [] self.max = 3 def push(self, item): self.items...

언어/Python

파이썬 알고리즘 - 스택(Stack)에서 최소값 출력하기

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(11) (1). 개발자 면접 트레이닝 - 스택(Stack)에서 최소값 출력하기 ① 스택(Stack) 구조 이해하는 것이 중요 ② Push, Pop, Peek 개념 파악 후 아래 코드 실습 ③ 스택은 개념 상 사용 하는 곳이 많다. (ex : 브라우저 뒤로가기 등) ④ 예를들어 [2, 3, 7, 9, 12] 의 최소값은 2 출력 (2). 소스 코드 PYTHON #stack_min.py import unittest class stack(): def __init__(self): self.items = [] self.mins = [] self.min = None def push(self, item): self.items.append(item) if self.min ..

언어/Python

파이썬 알고리즘 - 링크드리스트(LinkedList) 회문(대칭) 출력

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(10) (1). 개발자 면접 트레이닝 - 링크드리스트(LinkedList) 회문(대칭) 출력하기 ① 링크드리스트(LinkedList)를 역으로 출력하는 것이 포인트 ② 링크드리스트를 정확히 생성하고 역으로 출력하는 것이 중요 ③ 링크드리스트의 회문(역)을 리턴 ④ 예를들어 [2, 3, 5, 3, 2] 의 회문은 [2, 3, 5, 3, 2] 으로써 결과값은 같다. (2). 소스 코드 PYTHON #palindrome_linkedlist.py import unittest class Node: def __init__(self, item): self.val = item self.next = None class LinkedList: def __init__(self, ..

언어/Python

파이썬 알고리즘 - 두 링크드리스트(LinkedList)의 합(SUM) 계산

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(9) (1). 개발자 면접 트레이닝 - 두 개의 링크드리스트(LinkedList)의 합(SUM) 계산 ① 단순해 보이지만, 난이도가 있는 알고리즘 문제 ② 두 링크드리스트의 각 자리수를 계산하는 것이 중요 ③ 합산 된 링크드리스트의 합을 리턴 ④ 예를들어 [7, 1, 6] + [5, 9, 2] 두 링크드리스트의 합 -> 912 출력 (2). 소스 코드 PYTHON #sum_linkedlist.py import unittest class Node: def __init__(self, item): self.val = item self.next = None class LinkedList: def __init__(self, item): self.head = Node(..

언어/Python

파이썬 알고리즘 - 선택 노드를 기준으로 링크드리스트(LinkedList) 분할

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(8) (1). 개발자 면접 트레이닝 - 특정 노드를 입력 받아 링크드리스트 분할 후 병합 ① 링크드리스트는 다음 노드의 위치를 가르키고 있는 포인트 보유 ② 분할(Split) 후 다시 병합(Merge)하는 것이 중요 ③ 첫 번째 노드(Node)의 위치를 지정하는 것이 중요 ④ 예를들어 [6, 3, 8, 1, 5, 9] 에서 5 노드 기준으로 나누면 -> [3, 1, 5, 6, 8, 9] 출력 (2). 소스 코드 PYTHON #split_merge_linkedlist.py import unittest class Node: def __init__(self, item): self.val = item self.next = None class LinkedList: d..

[좋은사람]
'코딩 면접' 태그의 글 목록