알고리즘적 사고에 입문하기. 나 같은 초보자를 위한 프로그래머처럼 생각하는 방법.

개발자로서 가장 중요한 기술 중 하나는 문제를 해결하는 능력이며 컴퓨터 세계에서 가장 자주 이것은 알고리즘적 사고와 동의어입니다. 간단히 말해서 이것은 작업을 더 작은 조각으로 나누고 작업을 완료하기 위해 함께 조각내는 기능입니다.
그렇다면 젊은 개발자가 자신의 여정을 시작하는 데 이 기술이 중요한 이유는 무엇입니까? 소프트웨어 엔지니어로서 당신은 항상 인간의 문제를 해결하기 위해 소프트웨어를 작성하는 일을 하게 될 것이므로 특정 작업을 수행하는 방법을 컴퓨터에 지시하는 방법을 알아야 합니다. 컴퓨터는 프로그래밍된 대로 수행되도록 설계되었으므로 프로그래머로서의 임무는 컴퓨터에게 특정 작업을 수행하는 방법을 알려주는 것이며 여기에는 일련의 단계가 포함되며 문제를 해결하기 위해 프로그램을 함께 구성하는 방법을 이해해야 합니다. .
그러니 이 작은 시작 알고리즘을 사용하여 Algo Thinking으로 이것을 탐색하십시오.

피즈버즈
두 가지 예외를 제외하고 1에서 100까지의 모든 숫자를 인쇄하기 위해 console.log를 사용하는 프로그램을 작성하십시오. 3으로 나눌 수 있는 숫자의 경우 숫자 대신 "Fizz"를 인쇄하고 5로 나눌 수 있는(3이 아닌) 숫자의 경우 대신 "Buzz"를 인쇄합니다.
작업이 완료되면 3과 5로 나누어지는 숫자에 대해 "FizzBuzz"를 인쇄하도록 프로그램을 수정합니다(그리고 그 중 하나로 나누어지는 숫자에 대해서는 여전히 "Fizz"또는 "Buzz"를 인쇄합니다).
(이것은 실제로 상당한 비율의 프로그래머 후보자를 걸러낸다고 주장된 인터뷰 질문입니다. 따라서 이 문제를 풀면 노동 시장 가치가 올라갔습니다.)

그렇다면 이 문제를 어떻게 해결할 수 있을까요???
그것에 대해 생각하면서 잠시 시간을 내어 이 프로그램의 결과가 무엇인지 이해하십시오. 이미 그렇게 생각했다면 축하합니다. 퍼즐의 첫 번째 중요한 조각 중 하나를 완료한 것입니다. 결과를 이해하면 이러한 상상의 결과에 도달하는 데 필요한 프로세스를 통합하는 데 도움이 됩니다.

자, 여러분의 가정을 시험해 보고 상상한 결과가 맞는지 확인해 봅시다. 그 전에 나는 당신이 이와 같은 상상의 결과를 가지고 있다고 가정합니다.
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
이것을 염두에 두었다면 퍼즐의 첫 번째 조각을 푼 것을 축하합니다. 결국 여기에서 패턴을 관찰할 수 있고 젊은 개발 직관으로 루프를 발견할 수 있습니다. 맞습니까? 네, 방금 그렇게 말씀하신 것 같습니다. 그렇지 않다면 돌아가서 생각해 봅시다. 1에서 100까지의 시리즈를 거치는 프로그램을 만들려면 당연히 루프를 돌며 조건을 설정해야 합니다. 프로그램은 원하는 결과를 설정하기 위해 행동 모드로 들어갑니다. 이것은 if 문을 사용하는 퍼즐의 세 번째 부분으로 이어집니다.

따라서 코드를 작성하기 전에 알고리즘을 다음 줄로 요약할 수 있습니다.

/* loop through{
if (x == "value1") action1();
else if (x == "value2") action2(); else if (x == "value3") action3(); else defaultAction();
} */
;

function fizzBuzz(){
  for (let i = 1; i < 100 ; ++i){
    if( (i% 3 == 0) && (i % 5 ==0)){
      console.log("FizzBuzz")
    }else if(i % 3 == 0){
      console.log("Fizz")
    }else if( i % 5 == 0){
      console.log(" Buzz")
    }else{
      console.log(i)
    }
  }
}

fizzBuzz()


자, 이것을 복사하고 랩톱에서 Google 크롬을 열고 cmd + option + i를 누르면 개발자 도구가 열리고 콘솔 탭으로 이동하여 이 코드를 붙여넣습니다. 입문을 축하하지만 이제 막 시작했으므로 이것을 삭제하고 루프가 100번째 숫자에 도달할 때까지 호출될 때마다 어떤 일이 발생하는지 생각해 보십시오. 이것은 프로그래머의 사고 방식을 개발하는 데 도움이 될 뿐입니다. 아직 플랫폼에 계정을 등록하지 않은 경우 CodeWars를 사용하는 것이 좋습니다. 해피 해킹 데브.

좋은 웹페이지 즐겨찾기