본문 바로가기

카테고리 없음

[프로그래머스] 나머지 한 점

 

알고리즘 문제 해설 - 나머지 한 점

프로그래머스의 모의테스트는 프로그래머스의 시스템에 익숙해지기 위한 테스트이며, 문제 자체는 2018 1ST KAKAO BLIND RECRUITMENT와 전혀 관계없습니다. 다만 모의테스트의 풀이에 대한 요청이 있어

programmers.co.kr

 

입출력 예시

▶ 내답안 : collections

import collections as cl
def solution(v):
    coord = list(map(list,zip(*v)))
    x = cl.Counter(coord[0]).most_common()[-1][0]
    y = cl.Counter(coord[1]).most_common()[-1][0]
    return [x,y]

 

- 직사각형의 네점의 좌표( x, y )는 2쌍씩 존재한다.

- 1쌍만 존재하는 x, y 좌표를 Counter함수를 통해 리턴

 

 

파이썬 코딩 도장: 30.1 위치 인수와 리스트 언패킹 사용하기

Unit 30. 함수에서 위치 인수와 키워드 인수 사용하기 지금까지 간단하게 'Hello, world!'를 출력하는 함수와 두 수를 더하는 함수를 만들어보았습니다. 파이썬에서는 함수를 좀 더 편리하게 사용할

dojang.io

 

>> 좀 더 가다듬은 답안

import collections 
def solution(v) :
      answer = []
      for i in zip(*v): 
      	count = collections.Counter(i)
      	answer.extend([j for j in count if count[j] == 1]) 
      return answer

 

▶ 모범답안 : XOR ( 같으면 0, 다르면 1 )

def solution(pos):

    x = pos[0][0] ^ pos[1][0] ^ pos[2][0]
    y = pos[0][1] ^ pos[1][1] ^ pos[2][1]
    
    return [x,y]

 

 

파이썬 코딩 도장: 47.1 비트 연산자 사용하기

Unit 47. 부록 이제부터 부록입니다. 부록은 참고삼아 알아둘 내용, 자주 사용하지 않는 기능, 내용이 다소 어려운 부분, 파이썬을 어느 정도 알고난 뒤에 봐야할 내용 등을 담았습니다. 여기에 나

dojang.io

 

▶ XOR 연습해보기 

1. 3^8 :   
>>> 
# 3 : 0b11, 8 : 0b1000 

2. 4^5 :
>>>
# 4 : 0b100, 5 : 0b101

3. 10^12 : 
>>>
# 10 : 0b1010, 12 : 0b1100

4. 10^2^2^2 :
>>>
# 10 : 0b1010, 2 : 0b10

5. 2^2^10^2^2 :
>>>
# 10 : 0b1010, 2 : 0b10