프로그래밍

온코더 만든놈은 진짜 탈모에 소화불량으로 시름시름 앓았으면 좋겠군요...

-------------------------------------------------------------------------------------------------------------------

문제 1.
이진수는 0, 1 두 가지를 사용하여 숫자 값을 나타냅니다.

이진수에서 숫자를 1만큼 증가 시키는 방법은 마지막 숫자에 1을 더하고 결과 값이 2일 경우, 그 숫자를 0으로 설정하고 그 다음 숫자에 같은 연산을 반복하는 것 입니다.

 

예를 들어 아래와 같은 10진수 수열이 있습니다.
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...

 

2진수로 표현 할경우 아래와 같습니다.
1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011, ...

 

양의 정수 X의 이진수 표현인 문자열 String x가 주어집니다.
(X+1)을 이진수 표현의 문자열로 리턴하세요.

참고 / 제약 사항
◦x 는 1개 이상 30개 이하의 문자로 구성 됩니다.
 
테스트 케이스
1 )
String x =   "10011"
 리턴(정답):    "10100"  
2 )
String x =   "10000"
 리턴(정답):    "10001"  
3 )
String x =   "1111"
 리턴(정답):    "10000"

---------------------------------------------------------------------------------------------------

이런 문제였는데....

기본적인 클래스랑 메소드는 풀어줘야지 진짜 살다살다 Integer 클래스랑 Math 클래스를 막고 풀라고 할줄은 몰랐네요..

하....

데체 시발 세상에 누가 Integer.parseInt,    Integer.toBinaryString과 Math.pow를 안쓰고 2진수를 손대나요.

이걸 테스트라고..

18개의 댓글

2019.05.24

"이진수에서 숫자를 1만큼 증가 시키는 방법은 마지막 숫자에 1을 더하고 결과 값이 2일 경우, 그 숫자를 0으로 설정하고 그 다음 숫자에 같은 연산을 반복하는 것 입니다."

이 말 그대로 구현한다면 언급하신 메소드들은 필요가 없어보여요.

0
2019.05.24

이해하고 쓰란얘기겠지.

 

그나저나 착하네 나같으면 대대손손 20대 초반에 탈모오는 유전자 발현하라고 저주할듯

0
@RTX2080Tiㅤ

사실 대대손손 태어나자마자 평생 시달리라고 하고싶었는데, 그리 저주하면 업보가 돌아오는지라 참았음.

솔직히 저 문제는 진짜 작정하고 더럽게 낸 문제로밖엔 안 느껴짐.

0
2019.05.24
[삭제 되었습니다]
@옥뚜라

알고리즘 테스트도 정도껏 해야지 애초에 알고리즘에 대해 배울 시간도 부족한 상황에서 미친듯이 진도 몰아쳐놓고 지금 저런테스트하면....

0
2019.05.24

string도 결국 char이나 byte배열 이니까 그 배열 원소 값을 1 증가시키면 다음 숫자 나오겠지뭐

0
@Tbps

그냥 저 문제는 안 풀고 버릴 생각임.

테스트도 정도껏 해야지 저거는 테스트보다는 사람 골머리 썩일 악의밖에 느껴지지 않음.

0
2019.05.24
@어쩌면제정신이아닐지도

오지랖 같지만 너무 안타까워서 덧글 남겨요.

문제 자체에서 풀이를 제공하는데, 문제의 키워드일 뿐인 2진수에 너무 집중하신 것 같아요.

굳이 진수 변환이나 형변환하지 않고도 다음처럼 풀이할 수 있어요.

(자바를 하지 않아서 C 스타일로 작성하고 온라인 편집기에서 검증했어요.)

 

String p = "";

String[] arr = string_x.split("");

for(int i = arr.length - 1; i >= 0; i--) {

if(arr[i].equals("0")) {

arr[i] = "1";

break;

} else {

arr[i] = "0";

if(i == 0)

p = "1";

}

}

System.out.println(p + String.join("", arr));

 

개인적으로 이런 유형의 문제는 악의를 갖고 출제한다기보다 프로그래밍적 사고를 얼마나 할 수 있는지 확인하는, 생각의 범위를 확인하는 문제라고 봐요. 너무 큰 반감을 갖지 않으셨으면 좋겠어요.

1
2019.05.24
@세스코멤버쉽

다음번엔 한마디로 설명해주세요

'아만보'

0
2019.05.24

시키면 시키는대로 하자

0
2019.05.24

윗사람 말대로 프로그래밍적 사고력을 다지는데에 목적이 있는 문제 같은데 '이진수'에 너무 강하게 포커스를 두신 듯.

아주 맞는 비유는 아니지만, 초등수학 교과과정에서 곱셈 처음 배울 때 곱셈기호 없이 더하기로만

곱셈연산을 수행하고 풀어쓰게하는 과정이 꼭 있거든 불편하라고 악의를 담은게 아니라 보다 완전한 이해를 유도하는 과정임 

0
2019.05.24

별로 복잡하지도 않구만 뭔 호들갑이 이래 심해

0

음 충분히 낼수있는 문제같은데....

0
2019.05.24

x[0]ー'0' 하면 바로 숫자값 나오는데

0
2019.05.24

알고리즘 헤더 막고 힙소트 짜라하면 경기일으키시겟네

0
2019.05.24
@구름쿠모

힙소트는 경기일으키는게 맞다

0
2019.05.24

심지어 문제는 첫케릭터부터 +1해서 2나오면 다음자리 올려주다가 맨끝이2면 스트링 한개 새로만들어서 넘기면되네

0
2019.05.24

이진수라는 생각에 갇혀있으니까 문제를 못풀지 ㅉㅉ

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5678 [프로그래밍] 프론트엔드 개발자 연봉 1억 넘는 사람 있어? 3 잠적자 0 3 시간 전 214
5677 [프로그래밍] Exiftool 이거 일본어 못 읽는데 13 부터시작하는이세... 0 1 일 전 178
5676 [프로그래밍] 반응형 웹페이지가 내가상상한거랑 좀 다르네 3 평택국 0 2 일 전 353
5675 [프로그래밍] 고졸 FE개발자 연봉, 상황에 조언좀.. 18 쾅꿍꿍 0 2 일 전 476
5674 [프로그래밍] 물경력들 보면 책임을 이해못하는것같음 5 mils 1 3 일 전 296
5673 [프로그래밍] GPT가 코딩 다해주네 3 겜신병자 0 4 일 전 634
5672 [프로그래밍] 크로스플랫폼의 욕심은 끝이없다 4 ye 0 6 일 전 344
5671 [프로그래밍] 월루중에 백준 풀어보고 있는데, 6 오뜨 0 7 일 전 619
5670 [프로그래밍] 같이 일했던 시니어급 개발자 아예 직무 바꿨네.. 15 흐린눈 2 9 일 전 620
5669 [프로그래밍] 안드로이드 스튜디오가 이상해요... 2 집에가게해줘 0 10 일 전 376
5668 [프로그래밍] 양심고백 5 너가전부옳아 0 11 일 전 357
5667 [프로그래밍] 멀티겜만드는거 첨인데 빡시네 4 아님나 0 11 일 전 408
5666 [프로그래밍] vscode에 이런 설정도 있나? 17 너가전부옳아 0 12 일 전 269
5665 [프로그래밍] 네트워크 관련 관련 질문드립니다 6 그러네요 0 14 일 전 197
5664 [프로그래밍] 언리얼 C++이라고 불리는 이유? 4 nyvux 0 14 일 전 321
5663 [프로그래밍] 코틀린과 swing 기능 관련 다시 질문 4 집에가게해줘 0 14 일 전 150
5662 [프로그래밍] 22대 총선 정보를 모아 볼 수 있는 사이트 2 마포구알짜땅주인 0 15 일 전 303
5661 [프로그래밍] 집에서 공부하는 개붕이 있냐 8 년차html개발자 0 16 일 전 472
5660 [프로그래밍] Mojo 써본사람 있음? 5 너가전부옳아 1 17 일 전 340
5659 [프로그래밍] 코린이 swing 질문좀... 1 집에가게해줘 0 17 일 전 149