왼쪽 테이블의 u_name을 오른쪽 테이블에 넣고싶다.

그리고 넣을때의 조건은 b_title이 같은 애들에 한해서 u_name을 넣으려 한다.

즉 오른쪽 테이블의 '아침마다 ~~') 는 Dolphin이 들어가길 원한다.


처음에 이러한 조건을 접근햇을때는 insert를 생각했다.

- insert into 오른쪽테이블(u_name) select u_name from 오른쪽테이블 where 오른쪽테이블.u_name = 왼쪽테이블.u_name

이렇게 할 경우 당연히 안들어가진다. 애초에 뭔가 문제가 많다.

inner join이나 join 등으로 시도해봤으니 이 또한 이상하게 들어간다.


정답은 update였다.

- update 오른쪽 테이블 set u_name =

 (select u_name from 오른쪽테이블 where 오른쪽테이블.u_name = 왼쪽테이블.u_name)


이렇게 할 경우 내가 원하는 칼럼에 원하는 조건에 매칭되게끔 값이 들어가진다.





관련 스택오버플로우 글을 보시려면 클릭하세요


'초보 프로그래머' 카테고리의 다른 글

8월 한달 통계...  (0) 2018.09.01
python, pandas , apply 함수 사용시 주의사항  (0) 2018.08.27
5일차, 용어정리  (0) 2018.08.12
3일차 용어정리  (0) 2018.08.08
2일차 용어정리  (0) 2018.08.08



def solution(str):
	lst = [i for i in str]
	temp = 1;
	flag = 0;
	if len(lst) % 2 != 0 :
			return 0;
	while temp < len(lst):
		if lst[temp-1] == lst[temp]: 
				lst.pop(temp-1)
				lst.pop(temp-1)
				temp = temp-1 if temp >= 2 else temp;
		#		print(lst)
	#			print("temp", temp)
				flag = 1;
				continue;
		else:
				if flag == 1:
						return 0
				else:
						temp +=1;
	num = 1 if len(lst) == 0 else 0;
	return num;


위 코드는 보면 최초에는 flag 값을 안줬다.

이렇게 코드를 실행할 경우 위 알고리즘은 주어진 단어를 끝까지 다 확인을 해야한다 = 시간이 초과된다.

이 문제의 핵심은 단어를 모두 확인하는것이 아니라 오히려 안되는 경우를 얼마나 빠르게 찾아내느냐 인것 처럼 보인다.


그렇기에 내가 접근했던 방식은 한번이라도 글자가 짝지어제거됬을경우 다음에 안되는 경우가 나오면 무조건 아니다 라고 하고 싶었으나

추가적으로 뒤에 더 가서 없어지는 경우가 있을 수도 있음을 알게 되었다.

바쁘다 바빠

+ Recent posts