210420 TIL

3677 단어 TILTIL

오늘 한 일

  • KDT 인공지능 데브코스 Day 1 듣기

원래 오늘까지 Day 2를 듣는게 맞다고 한다...😱
어제 신나서 OT만 듣고 끝냈던 자신을 반성해본다ㅠㅠ 첫날부터 밀리다니
최대한 Day 2 마저 공부하고 자야지..!


새로 배운 것

python의 XOR연산자 ^로 쉽게 해결되는 문제들이 있다!

XOR 비트연산자

  • a ^ b
  • 비트간 배타적 논리합, Exclusive OR 연산을 수행 (값이 같으면 0, 다르면 1)
  • a와 b의 비트를 XOR 연산하여 결과를 리턴
a = 6                 # 0b110
b = 3                 # 0b011
a ^ b = 5             # 0b101
>
a = 3                 # 0b011
b = 3                 # 0b011
a ^ b = 0             # 0b000
>
a = 5                 # 0b101
b = 3                 # 0b011
c = 5                 # 0b101
a ^ b ^ c = 3         # 0b011

예제 - [Programmers] 나머지 한 점

직사각형을 만드는데 필요한 네 점 중 세 점이 주어졌을 때 나머지 한 점을 구하라

직사각형을 만드는 점은 서로 x축 또는 y축에 평행하다
따라서, 점들의 x, y 값들 중 중복되는 값들을 소거했을 때 남는 값이 나머지 한 점의 좌표가 된다.

def solution(v): # v: 세 점의 좌표 리스트
    answer = v[0]
    for [x, y] in v[1:]:
        answer[0] ^= x
        answer[1] ^= y
    return answer

연산자 정의만 알고 활용은 해본적이 없었는데 종종 활용해봐야겠다 신박하군😮

좋은 웹페이지 즐겨찾기